以下內容涉及暴力殺 App 及不當系統行為,敬請留意。
續上回,用 Nokia 品牌的 HMD Android 9 手機,預裝 Evenwell 的殺 App 程式,粗略看過其源碼,發覺似乎無時無刻都在尋找殺戮對象,包括手機啟動,任何程序啟動,網絡環境變更等,都會檢查是否要大開殺戒。
基本上,所有背景啟動,都會即時考慮是否要立即殺死(不是禁止啟動,而是出世後觸發該程式,檢查是後才殺死), 但亦有不會殺死的種類或情況,包括 :
最近曾開啟(在 Recent List 頭)的幾個 App
預設的 SMS App (但沒有 Dialer App)
NFC 服務觸發的 App
正在有來電響鈴時,不殺任何 App
取得audio focus (正播放音樂) 的App
正在用 network 的 App
Live wallpaper App
有顯示 widget 的 App
預設 launcher
預先指定的內置白名單App
進程(process)名稱包含冒號,即App的非主要進程
追查一下內置白名單有什麼(國際版),發覺有一系列的第三方 App
https://github.com/urbandroid-team/dont-kill-my-app/blob/master/killers/nokia/com.evenwell.powersaving.g3/res/values/arrays.xml
當中有即時通訊的 WhatsApp、Telegram、WeChat (com.tencent.mm) 、FB Messenger (com.facebook.orca) 、Line (jp.naver.line.android)、瀏覽器 Chrome,而攔截 App 則包括數碼通「來電管家」(com.smartone.callguard)、小熊來電 (com.studiokuma.callfilter)、Whoscall (gogolook.callgogolook2) ,也有 TrueCaller (com.truecaller)、Calls Blacklist (com.vladlee.easyblacklist)。其他主要是須在背景運作的通訊或VoIP等,主流的程式。
當然沒有「小鴨幹線」這類小開發者的程式。
即是說,Nokia 已預先內訂保護「小熊來電」,「Whoscall」,「WhatsApp」之類主流程式,以及音樂播放,widget等種類的背景服務,在原生標準之上,限制用戶只能使用某種行為或名單指定的程式,而限制的條件毫不透明,這點和其他「深度訂製」大陸牌子機的所謂省電功能,並沒有分別。
而更甚者,用戶似乎無法簡單地關閉該功能,或自行將 App 加入白名單防止被殺,根據 Don’t kill my app 的 Nokia 分頁及其他地方的討論 (如這個),把 App 放入原生 Android 設定的 doze 白名單,是沒有用的。雖然該殺手程式源碼,看來似乎有自訂白名單機制,來讓用戶防止殺 App,但似乎沒有人提及設定方法,未知是否為保持近似原生的設定界面,而將之隱藏。
以上為根據 Don’t kill my app 在 Github 公開的源碼分析,不排除 Evenwell 更新該程式,以致現時或日後的效果有所不同。