在menifest中声明Layout_Params.flag_secure

Zah*_*dul 1 android screenshot video-capture capture android-screen

可以通过此代码防止Android应用程序屏幕截图

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

}
Run Code Online (Sandbox Code Playgroud)

但是在每个屏幕上都编写这段代码很麻烦。有什么方法可以在清单应用程序或任何地方声明它。

Eri*_* B. 6

BaseActivity为您的应用程序创建一个并让所有其他活动扩展它。

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);

   }
}
Run Code Online (Sandbox Code Playgroud)

然后你像这样创建你的活动:

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