Android 锁屏状态下后台弹出界面

2020-08-21  本文已影响0人  mt大山

1.唤醒屏幕

 private PowerManager.WakeLock mWakeLock;
    private PowerManager mPowerManager;

    @SuppressLint("InvalidWakeLockTag")
    public void turnOnScreen() {
        // turn on screen
        try {
            mPowerManager = (PowerManager) getSystemService(POWER_SERVICE);
            mWakeLock = mPowerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
            mWakeLock.acquire();
            mWakeLock.release();
        } catch (Exception e) {

        }
    }

2.在oncreate 中加入

   getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED //锁屏显示
                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD //解锁
                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON //保持屏幕不息屏
                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);//点亮屏幕
        super.onCreate(savedInstanceState);

3.跳转Activity时

 addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS)

4.声明权限


<!--   弹出-->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <!-- 亮屏的权限 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.USES_POLICY_FORCE_LOCK" />

上一篇下一篇

猜你喜欢

热点阅读