2012-02-03 9 views
12

Nelle versioni più recenti di Android (> 3.0) è presente un pulsante su schermo che visualizza un elenco delle app recenti con i relativi nomi e istantanee. Anche se la mia app è protetta da password, questa panoramica potrebbe mostrare i dati sensibili in quella istantanea. Quindi esiste un modo per forzare un'immagine di tipo da mostrare piuttosto che lasciare che il sistema operativo decida?Come modificare l'istantanea mostrata dall'elenco delle app recenti?

+0

Qualche altra possibilità per raggiungere questo obiettivo? – Alex

+0

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

risposta

20

Per ora sembra impossibile. C'è un metodo chiamato onCreateThumbnail ma non è usato attualmente dal sistema, credo, dal momento che non viene chiamato. Vedo due possibili soluzioni:

1. Per disattivare miniature sull'attività contenente dati sensibili con l'aggiunta di FLAG_SECURE alla finestra: getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
2. Per escludere le attività dalle recenti applicazioni impostando attributo android:excludeFromRecent per le attività in AndroidManifest.xml

+0

@Azat: In la mia app, ho funzionalità di impostazione/cancellazione di FLAG_SECURE in base alle preferenze dell'utente. Ha funzionato fino a KITKAT e lo schermo nero può essere visto nel commutatore di attività se sono impostati i flag. In Lollipop, la panoramica mostra l'ultima istantanea della mia app (attività), l'ora in cui FLAG_SECURE non è stato impostato (cancellato). http://stackoverflow.com/q/29564826/1263215 –

2

La soluzione fornita da Azat continua ad essere valida anche in Lollipop.

solo una nota, se si vuole continuare a non vedere istantanee di recente lista per l'applicazione intera, TUTTI le attività realizzate devono specificare nel metodo onCreate() bandiera getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); prima setContentView();

Altrimenti un'istantanea nell'elenco recente mostrerà la prima attività senza il flag se l'utente ha navigato attraverso di essa.

Problemi correlati