以前做過一個鬧鐘 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