Hide screen in 'Recent Apps List', but allow screenshots

rajath picture rajath · Apr 15, 2015 · Viewed 8.7k times · Source

I mainly want to blank the screen in the recent apps list due to sensitive data being shown. For this, the solution is to use:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

but this also disallows screenshots, which is a problem.

Is there a way to show a blank screen (or a predefined image) in the recent apps list, while still allowing screenshots?

Answer

Vrushab Maitri picture Vrushab Maitri · Mar 23, 2018

I have tried this method and it's working. For making the screen blank in recent list and still allowing screen you can set the flag in onPause() and clear the flag in onResume().

@Override
protected void onPause() {
  super.onPause();
  getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);
}

@Override
protected void onResume() {
    super.onResume();
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);     
}