[問題] 如何在設有密碼的狀況下點亮螢幕?(已解決)

作者: narihira2000 (老羊)   2018-09-21 21:55:47
各位板友們好
小弟最近剛學寫android
設計了一個鬧鐘app
原理是在設定的時間到後,透過alarmManager跳出另一個intent
目前想要實現在關螢幕的狀況下,到達設定的時間會自己點亮螢幕跳出該intent
搜尋之後
找到了在SDK 27以前是使用FLAG_TURN_SCREEN_ON
SDK 27以後用setShowWhenLocked(turn)和setTuenScreenOn(true)
程式碼如下:https://ideone.com/sq86vS
這些方法在沒有螢幕鎖定密碼時都可以正常運作
但是在有設定螢幕密碼的狀況下就行不通了,只會有鈴響的聲音不會點亮螢幕
不知道該如何才能像其他鬧鐘app一樣,在有設密碼的狀況下自己開啟螢幕呢?
還拜託各位大大提點一下或提供可能的關鍵字
謝謝各位!
===================
更新
目前有找到一個方法,能讓有螢幕鎖的裝置開啟螢幕
但沒辦法跳出intent,要解鎖才會跳出
程式碼如下:https://ideone.com/4OZndY
雖然裡面用到的函式有些好像停用了,但還是可以運作,感覺也有點接近了
不知道要怎麼修改才能在鎖定的狀況下跳出intent呢?
求大大們相助QQ
===================================
更新 已解決
透過下面兩篇的aids61517大大的方法已成功解決問題!
簡單來說,就是沒有使用BroadcastReceiver的問題
透過BroadReceiver收到AlarmManager的訊號後再開啟想要開的activity
並在該activity加上上面提到的FLAG_TURN_SCREEN_ON
便能成功在有密碼鎖的狀況下開啟螢幕並跳出想要的intent
作者: gcobc12632 (Ted)   2018-09-21 23:35:00
挖嘎哩嗎斯
作者: erty0402 (缺副駕駛)   2018-09-24 23:56:00
應該是 window layer priority比 lock screen 低所以被蓋掉了,透過設置屬性應該可以提高。不確定一般的app能不能做到

Links booklink

Contact Us: admin [ a t ] ucptt.com