Как делать снимки экранов устройств вне моего собственного приложения на корневом устройстве?

Я хочу делать скриншоты экранов моего устройства, которое имеет root-права, используя следующий код:

process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("/system/bin/screencap -p " + path + "; \n");        

Этот код хорошо работает на Motorola Zoom, так как у Zoom есть скриншот в пути /system/bin/screencap, но на huawei Ascend, который является Android 2.3.6, в system/bin нет файла скриншота, поэтому я не могу делать снимки экрана на huawei. . Пожалуйста, предложите мне, как я могу делать скриншоты на моем устройстве Huawei.


person user2211088    schedule 26.03.2013    source источник


Ответы (1)


Если эти устройства основаны на одном и том же семействе процессоров, вы можете попробовать извлечь двоичный файл скриншота из Zoom и отправить его на Ascend.

В качестве альтернативы вы можете создать утилиту screencap самостоятельно (или другую программу, которая делает то же самое). Это все-таки с открытым исходным кодом.

person Michael    schedule 26.03.2013
comment
Я сделал это, теперь он захватывает изображение, но видна только панель уведомлений, остальное изображение пустое. Я не могу понять, пожалуйста, помогите. - person user2211088; 26.03.2013
comment
Кроме того, если я открою панель уведомлений, а затем сделаю снимок, то будет захвачено полностью видимое изображение, что означает, что видно только изображение панели уведомлений. я не могу понять, пожалуйста, помогите. - person user2211088; 26.03.2013