Можно ли узнать, когда завершилась команда adb, управляемая C# System.Diagnostics.Process?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Можно ли узнать, когда завершилась команда adb, управляемая C# System.Diagnostics.Process?

Сообщение Anonymous »

Мне нужно изменить массу дат на моем изображении Android, и самый простой способ — использовать оболочку adb с командой touch. Я не знаю почему, но adb Shell Touch... не работает и пишет "Файловая система только для чтения". Однако, если я запущу оболочку adb, а затем перейду к запуску touch в этом процессе, это возможно.
Я уже писал что-то подобное

Код: Выделить всё

var adb = Process.Start(new ProcessStartInfo("adb", "shell")
{
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
});
ArgumentNullException.ThrowIfNull(adb);

var outputTask = Task.Run(async () =>
{
while (!adb.StandardOutput.EndOfStream)
{
var line = await adb.StandardOutput.ReadLineAsync();
Console.WriteLine(line);
}
});

adb.StandardInput.WriteLine("ls");
adb.StandardInput.WriteLine("cd sdcard/DCIM/Camera");
adb.StandardInput.WriteLine("touch -d \"2011-01-01 00:00:00\" receipt_660cb153bd075.jpg");
adb.StandardInput.WriteLine("stat receipt_660cb153bd075.jpg");
Проблема в том, как узнать, что вывод ls завершен, поскольку экземпляр процесса C# технически не завершен?


Подробнее здесь: https://stackoverflow.com/questions/790 ... diagnostic
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»