Declare Layout_Params.flag_secure in menifest

4k Views Asked by At

Android application screen can be prevent from taking screenshot via this code

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
    super.onCreate(savedInstanceState);

}

But it is messy to write this code in every screen. Have any way to declare it in manifest application or any where.

1

There are 1 best solutions below

2
Eric B. On BEST ANSWER

Create a BaseActivity for your app and make all the other Activities extend it.

public class BaseActivity extends AppCompatActivity {
   @Override
   protected void onCreate(@Nullable Bundle savedInstanceState) {
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
       super.onCreate(savedInstanceState);

   }
}

Then you create your activities like this:

public class MyActivity extends BaseActivity {
       @Override
       protected void onCreate(@Nullable Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           // Your code
       }
}