Спробуйте 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
. Решта ... стає хитромудрим. Дивіться цю публікацію в блозі для отримання додаткової інформації.