谷歌 Pilex 手機(jī)阻止用戶撥打 911 報(bào)警電話
11月末,Reddit 用戶 KitchenPicture 5849 發(fā)帖稱(chēng):搭載 Android 11 的 Pixel 手機(jī)阻止他撥打 911,當(dāng)時(shí)他的祖母中風(fēng)需要呼叫救護(hù)車(chē),但打了 911 報(bào)警電話后“手機(jī)一響就卡住了,除了點(diǎn)擊后臺(tái)運(yùn)行的緊急電話的應(yīng)用程序之外,什么也做不了。”
此現(xiàn)象還可以復(fù)現(xiàn),帖子熱度膨脹后,Reddit 用戶重現(xiàn)了該問(wèn)題,他們并表示在發(fā)起呼叫后五分鐘,緊急服務(wù)部門(mén)沒(méi)有任何回應(yīng),也沒(méi)有證據(jù)表明手機(jī)呼叫了 911 ——設(shè)備上的電話記錄和運(yùn)營(yíng)商(Verizon ) 電話記錄都顯示為空。
12 月 8 日,谷歌正面回應(yīng)了此問(wèn)題,表示“該問(wèn)題由 Microsoft Teams 應(yīng)用程序和底層 Android 操作系統(tǒng)之間的意外交互引起,我們將很快修復(fù)此問(wèn)題,將在 1 月 4 日向 Android 生態(tài)系統(tǒng)提供 Android 平臺(tái)更新”。
讓人不安和困惑的是,像 Microsoft Teams 這樣的第三方應(yīng)用程序,竟然能夠干擾像緊急撥號(hào)如此重要的服務(wù)。幾乎所有國(guó)家的法律都要求運(yùn)營(yíng)商將緊急呼叫路由到附近的緊急服務(wù)站點(diǎn),這樣即使移動(dòng)設(shè)備沒(méi)有裝 SIM 卡,也能撥打緊急求助電話。
也就是說(shuō):任何情況下都不應(yīng)該阻止手機(jī)緊急撥號(hào)。
問(wèn)題來(lái)源:PhoneAccounts
隨后,外媒 medium 的 Mishaal Rahma 對(duì)谷歌所說(shuō)的“Microsoft Teams 和 底層 Android 的意外交互”進(jìn)行了詳細(xì)的研究,發(fā)現(xiàn)事情出在 Android 底層的 PhoneAccounts 實(shí)例上,具有通話功能的 Android 應(yīng)用程序都會(huì)構(gòu)建 PhoneAccount 實(shí)例,比如 Microsoft Teams 應(yīng)用,它使用 Skype 后端進(jìn)行語(yǔ)音通話,但它無(wú)法處理緊急呼叫,因此才會(huì)出現(xiàn)文章開(kāi)頭那種無(wú)法撥打 911 的問(wèn)題。
但如果單純按照這個(gè)邏輯,那么所有裝了 Microsoft Teams 的 Android 手機(jī)都不能撥打 911 了,但事實(shí)并非如此,通常 Android 系統(tǒng)會(huì)通過(guò)“是否支持緊急呼叫”等標(biāo)簽對(duì) PhoneAccounts 列表進(jìn)行排序,選出優(yōu)先級(jí)最高的 PhoneAccounts 實(shí)例并執(zhí)行。
接下來(lái)問(wèn)題的謎底就揭曉了,Microsoft Teams 應(yīng)用出現(xiàn) PhoneAccount 實(shí)例過(guò)度注冊(cè)的錯(cuò)誤。每當(dāng)手機(jī)安裝了 Microsoft Teams 應(yīng)用程序但尚未登錄時(shí),該應(yīng)用程序的每次冷啟動(dòng)都會(huì)創(chuàng)建另一個(gè) PhoneAccount 實(shí)例。過(guò)多的 PhoneAccount 實(shí)例進(jìn)行排序,導(dǎo)致 Android 的 sortSimPhoneAccountsforEmergency 緊急呼叫優(yōu)先級(jí)排序方法出現(xiàn)整數(shù)上溢/下溢錯(cuò)誤,從而選擇了錯(cuò)誤的應(yīng)用來(lái)進(jìn)行緊急呼叫。
后續(xù)
12月 10日,微軟推出 Teams 應(yīng)用程序的 1416/1.0.0.2021194504 版。此版本解決了生成過(guò)多重復(fù) PhoneAccounts 的問(wèn)題,還會(huì)在首次啟動(dòng)時(shí)調(diào)用 TelecomManager 的 clearPhoneAccounts 方法,來(lái)清除之前創(chuàng)建的所有PhoneAccounts。
熱心網(wǎng)友 @linuxct 開(kāi)發(fā)了一個(gè)簡(jiǎn)單的開(kāi)源應(yīng)用程序,該程序可以列出設(shè)備中所有的 PhoneAccounts ,并評(píng)估是否有應(yīng)用程序存在過(guò)度注冊(cè) PhoneAccounts 的問(wèn)題 ,目前可在 GitHub 下載。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:谷歌 Pilex 手機(jī)阻止用戶撥打 911 報(bào)警電話
本文地址:https://www.oschina.net/news/173606/pixel-prevented-user-from-calling-911






