Попробуй 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);
}
}
Это определенно защищает от ручных снимков экрана и автоматических снимков экрана из истории недавних задач ICS. Он также защищает от записи экрана (например, приложений, использующих API проекции мультимедиа).
ОБНОВЛЕНИЕ : это также защищает от Now On Tap или других помощников на Android 6.0; они не получат доступ к деталям виджетов и контейнеров в вашем пользовательском интерфейсе, если пользователь вызовет помощника.
ОБНОВЛЕНИЕ № 2 : однако, не все в деятельности будут защищены. Любые всплывающие окна - Dialog
, Spinner
, AutoCompleteTextView
, действие Переполнение бар и т.д. - будет небезопасно. Вы можете решить Dialog
проблему, вызвав getWindow()
ее и установив FLAG_SECURE
. Остальное ... становится сложнее. Смотрите этот блог для получения дополнительной информации.