Захват экрана Android

Как программно выполнить захват экрана на телефоне Android?

3 ответа

Вы не можете сделать это из приложения для Android, кроме как на рутированном телефоне, так как у вас нет разрешения на доступ к устройству кадрового буфера.

Однако вы можете сделать это поверх adb из окна DDMS вашей машины для разработки, так как adb работает в графической группе, которая имеет разрешение на кадровый буфер.

Если вы хотите сделать что-то подобное в нативном коде на рутированном устройстве, посмотрите на исходные коды для демона adb.

РЕДАКТИРОВАТЬ: Кажется, что это может измениться и может быть не-root возможности в более поздних выпусках Android, но я не уверен в деталях.

Вот пример того, как преобразовать представление в растровое изображение. Просто возьмите свой вид сверху и имейте это. Это абсолютно работает, и вам АБСОЛЮТНО не нужно иметь рутованное устройство для этого!

http://www.brighthub.com/mobile/google-android/articles/30676.aspx

Попробуйте что-то вроде этого:

View v1=childView.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bm=v1.getDrawingCache();
if(bm!=null){
    //save the file
}
Другие вопросы по тегам