android - seguridad - Tomar una captura de pantalla del servicio mediante programación.
no es posible capturar la pantalla debido a la politica de seguridad (2)
es fácil este código
Bitmap bitmap;
View v1 = MyView.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
y funciona muy bien, pero este es el caso si hay actividad.
¿Cómo puedo tomar una captura de pantalla del servicio?
Mi objetivo es tomar una captura de pantalla en una hora, ei cerrar la pantalla cada hora, por ejemplo, en 12, luego en 1, luego en 2 ... y así sucesivamente
La Android Screenshot Library (ASL) proporciona medios para tomar instantáneas de la pantalla del teléfono sin la necesidad de firmar su aplicación o tener acceso privilegiado (root) al sistema Android. Haga clic aquí para ASL
Para capturar ScreenShot para su actividad, necesita una View
de su actividad y cuál no está presente en su servicio, por lo que debe realizar una tarea de temporizador que llamará a su actividad a cada hora y responderá a su actividad con la vista de apariencia actual. y puedes capturar la captura de ScreenShot
de eso. (Creo que esta es la única solución para su problema.)
O bien, si desea realizar una captura de pantalla de la pantalla de su dispositivo actual (cualquier aplicación), tiene que obtener el permiso de root y leer el framebuffer
para obtener datos en bruto de la pantalla actual y luego convertirlo a mapa de bits o cualquier archivo de imagen que pueda hacer. en su servicio