最近一个项目有一个需求:
程序后台跑一个service,当接受到新的消息后弹出一个activity显示。
问题:在锁屏状态下 startActivity(intent) 并不能直接看到activity,
试过WakeLock跟KeyguardManager配合,都没有达到想要的效果。(其实想要的效果类似与闹钟)
解决方案:
在要弹出的activity的onCreate方法中加入如下代码
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON|
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);