2012-02-03 20 views
12

En las versiones más nuevas de Android (> 3.0) hay un botón en pantalla que mostrará una lista de las aplicaciones recientes con sus nombres e instantáneas. Aunque mi aplicación está protegida por contraseña, esta descripción general podría mostrar datos confidenciales en esa instantánea. Entonces, ¿hay alguna forma de forzar una imagen determinada de (como un logotipo) para que se muestre en lugar de dejar que el SO decida?¿Cómo cambiar la imagen mostrada por la lista de aplicaciones recientes?

+0

¿Alguna otra oportunidad de lograr esto? – Alex

+0

Vea también: http://stackoverflow.com/questions/9822076/how-do-i-prevent-android-taking-a-screenshot-when-my-app-goes-to-the-background – Snicolas

Respuesta

20

Parece ser imposible por ahora. Hay un método llamado onCreateThumbnail pero no es usado actualmente por el sistema, supongo, ya que no se llama. Veo dos soluciones posibles:

1. Para desactivar miniatura en la actividad que contiene datos sensibles mediante la adición de FLAG_SECURE a la ventana: getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
2. Para excluir las actividades de las aplicaciones recientes estableciendo android:excludeFromRecent atributo para actividades en AndroidManifest.xml

+0

@Azat: In mi aplicación, tengo la funcionalidad de establecer/borrar FLAG_SECURE según las preferencias del usuario. Funcionó bien hasta que KITKAT y la pantalla en negro se pueden ver en el selector de tareas si se establecen indicadores. En Lollipop, la Vista general muestra la última instantánea de mi aplicación (actividad), la hora en que FLAG_SECURE no se configuró (borró). http://stackoverflow.com/q/29564826/1263215 –

2

La solución proporcionada por Azat continúa siendo válida también en Lollipop.

Sólo una nota, si quiere seguir no ver instantáneas en la lista reciente para la aplicación toda, TODAS las actividades llevadas a cabo deben especificar en el método onCreate() la bandera getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); antes setContentView();

De lo contrario, una instantánea en la lista reciente mostrará la primera actividad sin la bandera si el usuario navegó a través de ella.

Cuestiones relacionadas