Попробуйте 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 : однако не все в действии будет защищено. Любые всплывающие окна & mdash; Dialog
, Spinner
, AutoCompleteTextView
, переполнение панели действий и т. Д. & Mdash; будет небезопасным. Вы можете решить проблему Dialog
, вызвав getWindow()
и установив FLAG_SECURE
. Остальное ... становится сложнее. Подробнее см. в этом блоге .