prevent screen capture in Android apps

后端 未结 2 1564
离开以前
离开以前 2020-12-14 21:51

I was wondering if there is a way to detect through some \"onXXXXX\" call-back method or received broadcast if some other process is about to take a screen-shot of my app\'

相关标签:
2条回答
  • 2020-12-14 22:07

    This worked for me on a Samsung Tab 2 7"

    Using the following approach, to simply add the FLAG_SECURE to the Window Flags

    public class FlagSecureTestActivity extends Activity {
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        getWindow().setFlags(LayoutParams.FLAG_SECURE,
                             LayoutParams.FLAG_SECURE);
    
        setContentView(R.layout.main);
      }
    }
    

    with the caveat that you may need to change

    LayoutParams
    

    to

    WindowManager.LayoutParams
    
    0 讨论(0)
  • 2020-12-14 22:18

    There is no supported method to take a screenshot of another app on Android. The only ways involve either rooting or using the SDK, which both offer little to no chance of you either blocking or receiving notification of it. If another app takes your screenshot, it is by default using non-supported methods and can probably do as it pleases.

    I'd like to clarify that I am not implying you shouldn't use any methods available to secure your app. I'm just letting you know that it is probably impossible to do so without using non-supported methods, and that even if you do use them you may not be 100% secure against screenshots.

    0 讨论(0)
提交回复
热议问题