Tente FLAG_SECURE
:
public class FlagSecureTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
setContentView(R.layout.main);
}
}
Isso definitivamente protege contra capturas de tela manuais e capturas de tela automáticas do histórico de tarefas recentes do ICS. Também protege contra gravação de tela (por exemplo, aplicativos que usam as APIs de projeção de mídia).
UPDATE : também protege contra o Now On Tap ou outros assistentes no Android 6.0; eles não terão acesso aos detalhes de widgets e contêineres na sua interface do usuário se o usuário chamar o assistente.
ATUALIZAÇÃO # 2 : no entanto, nem tudo na atividade será protegido. Todas as janelas pop-up - Dialog
, Spinner
, AutoCompleteTextView
, ação bar estouro, etc. - vai ser inseguro. Você pode corrigir o Dialog
problema chamando getWindow()
-o e definindo FLAG_SECURE
. O resto ... fica complicado. Veja esta postagem do blog para obter mais informações.