Захват экрана 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
}