以前做过一个闹钟 app
BroadcastReceiver onReceive 后开启 Activity
在 Activity 里设定以下 3 行
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON)
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD)
如果你是 Java 的话,那就是 getWindow().addFlags(xxxxxxxxxx)
这样应该就可以了,intent 记得 add flag Intent.FLAG_ACTIVITY_NEW_TASK