Toggling FLAG_SECURE in WindowManager to prevent taking screenshots
#1.564 aberto em 16 de nov. de 2021
Métricas do repositório
- Stars
- (33.679 stars)
- Métricas de merge de PR
- (Nenhuma PRs mesclada em 30d)
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)