Toggling FLAG_SECURE in WindowManager to prevent taking screenshots
#1 564 ouverte le 16 nov. 2021
Métriques du dépôt
- Stars
- (33 679 stars)
- Métriques de merge PR
- (Aucune PR mergée en 30 j)
Description
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)