在I / O 2019首日“Android中有什么新東西”的演講中,谷歌宣布即將對一個非常舊的API——SYSTEM_ALERT_WINDOW,進行重大更改。該API允許應用在其他應用上顯示內容,常見的用途之一是“聊天頭泡”(例如Facebook Messenger,見下圖)。谷歌已經在Android Q中以新的Bubbles API代替SYSTEM_ALERT_WINDOW API,并且決定在未來的Android版本中最終棄用SYSTEM_ALERT_WINDOW API。
允許應用程序在其他應用程序之上顯示內容會帶來明顯的安全風險,臭名昭著的“Cloak and Dagger”漏洞就是利用了該功能,證明SYSTEM_ALERT_WINDOW API需要被控制。
谷歌在Android Oreo開始限制疊加顯示的區域,并且在Android Q Go中已經完全刪除了對的SYSTEM_ALERT_WINDOWAPI的訪問。在未來的Android版本中,SYSTEM_ALERT_WINDOW將被完全棄用,所有使用它的Android應用都必須轉換到Android Q beta 2中引入的新Bubbles API。
▲Android Q中的Bubbles API
但是,Bubbles是通知消息API的一部分,因此它不是SYSTEM_ALERT_WINDOW的完全替代品。雖然Bubbles以很小的、可調整大小的活動形式出現,但它們必須由用戶從滿足一個或多個這些條件的通知中啟動。
使用SYSTEM_ALERT_WINDOW API的應用程序開發人員必須在不久的將來開始研究Bubbles API,谷歌并沒有給出何時棄用SYSTEM_ALERT_WINDOWAPI的具體時間表,但估計將不再適用于Android R。
關鍵詞: