Android 12升級:安全前提下不需要用戶交互安裝第三方商城應(yīng)用
作為回應(yīng) Epic Game 和政府監(jiān)管機(jī)構(gòu)施加的壓力,谷歌在去年 9 月宣布將會在 Android 12 系統(tǒng)中作出改變。這些調(diào)整包括讓人們能夠在不損害 Android 現(xiàn)有安全措施的基礎(chǔ)上,更容易地在設(shè)備上使用來自其他應(yīng)用商店的應(yīng)用程序。
然而,谷歌并沒有具體說明他們要對 Android 系統(tǒng)做出哪些改變,他們也沒有在 2021 年的谷歌 I/O 大會上分享有關(guān)這一變化的具體信息。不過在今天更新的官方博文中,谷歌確認(rèn)正在兌現(xiàn)其承諾,讓第三方運(yùn)營商店在 Android 12 上更容易使用。
在 Android 的 PackageInstaller.SessionParams 類中,谷歌增加了名為 setRequireUserAction 的新方法。這個方法表明在允許應(yīng)用安裝之前是否需要用戶操作。
對于任何持有 REQUEST_INSTALL_PACKAGES 權(quán)限的應(yīng)用程序來說,它的默認(rèn)值為 "true"。也就是說,當(dāng)用戶想要安裝非 Google Play 或者手機(jī)官方應(yīng)用商城之外的應(yīng)用程序,都會在啟動安裝會話之前需要向用戶發(fā)送通知,在用戶授權(quán)安裝來自未知應(yīng)用程序的權(quán)限之后才可以安裝。
不過如果滿足以下條件,應(yīng)用程序的安裝/更新將不需要用戶操作
- 安裝器選擇了新的行為
- 正在安裝的應(yīng)用程序的目標(biāo)是 API 級別 29(Android 10)或更高。谷歌指出,目標(biāo)API級別要求將在未來的安卓版本中提高,這一政策與谷歌游戲關(guān)于API目標(biāo)要求的政策一致)。
- 程序安裝要么只是對自身的更新,或者是已安裝應(yīng)用對一款應(yīng)用的更新
- 安裝程序聲明了 UPDATE_PACKAGES_WITHOUT_USER_ACTION 權(quán)限。
因此,當(dāng)應(yīng)用商店試圖啟動一個安裝會話并使用這個新的API時,應(yīng)該可以在用戶無需手動接受更新的情況下進(jìn)行更新。這將使分批更新應(yīng)用程序的速度更快,并使體驗(yàn)更符合Google Play商店的要求。