前一篇才講到 Doze mode 會造成我們的程式無原無故被殺掉

喚醒的 Activity 馬上被 destroy

有興趣的可以看這篇

Line 收不到訊息? Android 6 Doze mode 導致推播喚醒的 Activity 直接被 Automatic Destroy 的解決方法 』Willy's Fish教學筆記

 

今天講的是在解決 Doze mode 後的另一個問題

Android 9 的系統上才會發生

新版的 Android 會有鎖屏遮擋住 Activity 的問題

 

發生的情況是在手機螢幕未解鎖時

我們的 Activity 被喚醒了,要做一些事情

這時候使用者會看到我們的 Activity 畫面

但上面還會蓋一層鎖屏的畫面

自然而然也沒辦法操作我們的 Activity 了

 

要解決這個問題很簡單

只要在 AndroidManifest.xml 裡的 Activity 加入 showWhenLocked 參數即可

如下:

<activity
    android:name="xxx.xxx.AgentMainActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
    android:launchMode="singleTask"
    android:showWhenLocked="true"
    android:screenOrientation="portrait"></activity>

 

設定為 True,Activity 就可以在鎖屏的時候 show 出來了

 

 

 

 


arrow
arrow
    文章標籤
    Android9 鎖屏 Activity
    全站熱搜

    顏澤偉 發表在 痞客邦 留言(0) 人氣()