我正在构建一个警报应用程序。我有它所以广播接收器获得唤醒锁并开始报警活动。这些是我正在使用的标志:
激活锁定:
PowerManager pm = (PowerManager) ctx.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE, ctx.getPackageName());
wakeLock.acquire();
的活动:
getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON +
LayoutParams.FLAG_DISMISS_KEYGUARD +
LayoutParams.FLAG_SHOW_WHEN_LOCKED +
LayoutParams.FLAG_TURN_SCREEN_ON);
发生的事情是正确调用活动,但随后会调用锁定屏幕,它会激活我的活动上的onPause。然后我的活动显示在锁定屏幕前面。因此整体行为是屏幕闪烁,然后关闭,然后重新开启。这导致我的活动继续创建 - > onResume - > onPause - >的onResume。如果可能的话我想避免使用onPause。有什么建议吗?