,谷歌 Android 開發者博客今天發文稱,為數十億臺設備提供權限自動重置功能。
應用通常需要請求某些權限才能正常運行,但在任何給定的設備都有數十個應用的情況下,要讓之前授予的權限保持最新狀態可能很困難,特別是在你長時間未使用某個應用時。
谷歌稱,在 Android 11 中引入了權限自動重置功能這項功能有助于保護用戶的隱私: 如果用戶幾個月未使用某應用,該功能就會自動重置此應用的運行時權限,即請求時向用戶顯示提示的權限2021 年 12 月起,谷歌會將這項功能擴展到數十億臺設備該功能將自動在運行 Android 6.0 或更高版本的使用 Google Play 服務的設備上啟用
權限自動重置功能
運行時權限
Google Play 服務
系統將默認為面向 Android 11 或更高版本的應用啟用該功能不過,用戶可以為面向 API 級別 23 到 29 的應用手動啟用權限自動重置功能
那么,這對開發者來說意味著什么呢。移除了幾個已棄用的BouncyCastle加密算法,取而代之的是Conscrypt版本。。
例外
一些應用和權限將自動免于撤消,如企業使用的活動設備管理員應用,以及由企業政策固定的權限。
請求用戶停用自動重置
如有需要,開發者可以請求用戶阻止系統重置其應用的權限適用于用戶期望應用主要在后臺運行,甚至無需與其互動的情況
比較當前行為與新行為
必要的代碼更改
如果一個應用面向 API 30 及更高版本,并請求用戶停用權限自動重置,那么開發者需要做一些簡單的代碼更改如果應用不停用自動重置,則無需進行代碼更改
注:此 API 僅適用于 targetSDK 為 API 30 或更高版本的應用,因為僅這些應用具有權限自動重置如果應用的 targetSDK 為 API 29 或更低版本,則開發者無需進行任何更改
下表匯總了新的跨平臺 API :
Android 11
PackageManager.isAutoRevokeWhitelisted
Intent.ACTION_AUTO_REVOKE_PERMISSIONS
這個跨平臺 API 屬于 Jetpack Core 庫,將于 Jetpack Core v1.7.0 中推出,現已發布 Beta 版:
一個需要用戶禁用自動停用自動重置的邏輯示例:
valfuture:ListenableFuturelt,Intgt,=PackageManagerCompat.getUnusedAppRestrictionsStatusfuture.addListener),ContextCompat.getMainExecutor)funonResult(RestrictionsStatus:Int)when(RestrictionsStatus)//Statuscouldnotbefetched.Checklogsfordetails.ERROR—gt,//Restrictionsdonotlytoyouronthisdevice.FEATURE_NOT_AVAILABLE—gt,//Restrictionshavebeendisabledbytheuserforyour.DISABLED—gt,//Iftheuserdoesn'tstartyourformonths,itspermissions//willberevokedand/oritwillbehibernated.//SeetheAPI_*constantsfordetails.API_30_BACKPORT,API_30,API_31—gt,handleRestrictions(RestrictionsStatus)funhandleRestrictions(RestrictionsStatus:Int)//Ifyourworksprimarilyinthebackground,youcanasktheuser//todisabletheserestrictions.Checkifyouhavealreadyaskedthe//usertodisabletheserestrictions.Ifnot,youcanshowamessageto//theuserexplainingwhypermissionauto—resetandHibernationshouldbe//disabled.Tellthemthattheywillnowberedirectedtoapagewhere//theycandisablethesefeatures.Intentintent=IntentCompat.createManageUnusedAppRestrictionsIntent(context,packageName)//MustusestartActivityForResult(),notstartActivity(),evenif//youdon'tusetheresultcodereturnedinonActivityResult().startActivityForResult(intent,REQUEST_CODE)
本站獲悉,以上邏輯適用于 Android 6.0 到 Android 10,以及 Android 11 和更高版本的設備只需使用新 API 即可,您無需再調用 Android 11 的自動重置 API
與 Android 12 中應用休眠功能的兼容
新 API 同樣與 Android 12 中引入的應用休眠功能兼容休眠是適用于未使用應用的一種新限制該功能不適用于 Android 12 之前的操作系統版本
Android 12 中引入的應用休眠功能
如果權限自動重置和應用休眠都應用于一個應用,則 getUnusedAppRestrictionsStatus API 將返回 API_31。
發布時間表
2021 年 9 月 15 日 — 跨平臺自動重置 API 現已進入測試階段 ,所以開發者現在就可以開始使用這些 API即使在不支持權限自動重置的設備上,使用這些 API 也是安全的 (API 在這些設備上會返回 FEATURE_NOT_AVAILABLE)
2021 年 10 月 — 跨平臺自動重置 API 可作為穩定的 API 使用 。如果您的應用程序使用帶有AES的512位密鑰,則您需要使用Conscrypt支持的標準大小之一。
2021 年 12 月 — 權限自動重置功能將開始在由 Google Play 服務提供支持并運行 Android 6.0 到 Android 10 之間版本的設備上逐步推廣在這些設備上,用戶可以前往自動重置設置頁面,針對特定應用啟用/停用自動重置系統將在設備啟用該功能幾周后開始自動重置未使用應用的權限
2022 年第 1 季度 — 權限自動重置功能將覆蓋所有運行 Android 6.0 到 Android 10 之間版本的設備。
。鄭重聲明:此文內容為本網站轉載企業宣傳資訊,目的在于傳播更多信息,與本站立場無關。僅供讀者參考,并請自行核實相關內容。
2023年2月15日,湯臣倍健與美團買藥在北京舉辦了2023
2021年收入增長目標應能確保實現,2022年收入增長預計將
具體來看,一是簡化業務流程和材料,便利北京冬奧會相關區域內境
炒股就看金麒麟分析師研報,權威,專業,及時,全面,助您挖掘潛
,據索尼官方消息,新星粉,銀河紫,星光藍,三款全新配色Dua
,新氧數據顏究院發布《2021醫美行業白皮書》,白皮書顯示,