1. 程式人生 > >Android 保持螢幕常亮和禁止截圖

Android 保持螢幕常亮和禁止截圖

保持螢幕常亮

防止手機自動鎖屏,只需要在 Activity 的生命週期 onCreate() 方法中新增一行程式碼即可。
具體程式碼如下:

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

禁止螢幕截圖

非常簡單,只需要在設定禁止截圖的 Activity 的生命週期 onCreate() 方法中新增一行程式碼即可。
具體程式碼如下:

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

補充:
如果上面的功能需要應用到多個app的時候,有多種方式。
1.可以建一個父類Activity(例如BaseActivity), 在裡面設定這些方法,子類繼承父類既可。
2.使用Activity介面:ActivityLifecycleCallbacks

,在自己專案的Application 類 onCreate() 方法
中新增如下程式碼

registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
  @Override
  public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
    activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
    activity.getWindow
().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } });