Blankj/AndroidUtilCode

Toggling FLAG_SECURE in WindowManager to prevent taking screenshots

Open

#1.564 geöffnet am 16. Nov. 2021

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Java (10.654 Forks)batch import
help wanted

Repository-Metriken

Stars
 (33.679 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

Describe the feature

Toggle FLAG_SECURE to prevent screenshot form activity/class/base/app.

The FLAG_SECURE "flag" in WindowManager prevents taking a screenshot from the app's screen in Android versions above 7, and scrambles the snapped shot final image in Android versions lower than 7.

https://developer.android.com/reference/android/view/WindowManager.LayoutParams#FLAG_SECURE

Reference

You can achieve it with only one line of code (Java): getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); Kotlin: window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)

And to disable it (Java): getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); Kotlin: window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)

Contributor Guide