Android11权限管理,Android 11 中的权限更新
在 Android?11 中,用戶能夠針對位置信息、麥克風和攝像頭指定更精細的權限。此外,如果以 Android?11 或更高版本為目標平臺的應用在一段時間內未使用,系統就會重置這些應用的權限。如果應用使用系統提醒窗口或讀取與電話號碼相關的信息,可能需要更新它們聲明的權限。
單次授權
從 Android?11 開始,每當應用請求與位置信息、麥克風或攝像頭相關的權限時,面向用戶的權限對話框會包含僅限這一次選項。如果用戶在對話框中選擇此選項,系統會向應用授予臨時的單次授權。
詳細了解系統如何處理單次授權。
注意:如果應用在請求運行時權限時已遵循最佳做法,您無需更改應用即可支持單次授權。
自動重置未使用的應用的權限
如果應用以 Android?11 或更高版本為目標平臺并且數月未使用,系統會通過自動重置用戶已授予應用的運行時敏感權限來保護用戶數據。此操作與用戶在系統設置中查看權限并將應用的訪問權限級別更改為拒絕的做法效果一樣。如果應用遵循了有關在運行時請求權限的最佳做法,那么您不必對應用進行任何更改。這是因為,當用戶與應用中的功能互動時,您應該會驗證相關功能是否具有所需權限。
注意:系統僅重置運行時權限,在請求這些權限時,系統會向用戶顯示運行時提示。
權限對話框的可見性
從 Android?11 開始,在應用安裝到設備上后,如果用戶在使用過程中多次針對某項特定的權限點按拒絕,那么在您的應用再次請求該權限時,用戶將不會看到系統權限對話框。該操作表示用戶希望“不再詢問”。在之前的版本中,除非用戶先前已選中“不再詢問”對話框或選項,否則每當您的應用請求權限時,用戶都會看到系統權限對話框。Android 11 中的這一行為變更旨在避免重復請求用戶已選擇拒絕的權限。
注意:如果您的應用已遵循與權限相關的最佳做法,您無需更改您的應用即可支持此行為變更。
詳細了解如何在應用中處理權限請求遭拒情況。
系統提醒窗口變更
在 Android?11 中,向應用授予 SYSTEM_ALERT_WINDOW 權限的方式發生了一些變更。這些變更可以讓權限的授予更有目的性,從而達到保護用戶的目的。
根據請求自動向某些應用授予 SYSTEM_ALERT_WINDOW 權限
系統會根據請求自動向某些類型的應用授予 SYSTEM_ALERT_WINDOW 權限:
系統會自動向具有 ROLE_CALL_SCREENING 且請求 SYSTEM_ALERT_WINDOW 的所有應用授予該權限。如果應用失去 ROLE_CALL_SCREENING,就會失去該權限。
系統會自動向通過 MediaProjection 截取屏幕且請求 SYSTEM_ALERT_WINDOW 的所有應用授予該權限,除非用戶已明確拒絕向應用授予該權限。當應用停止截取屏幕時,就會失去該權限。此用例主要用于游戲直播應用。
這些應用無需發送 ACTION_MANAGE_OVERLAY_PERMISSION 以獲取 SYSTEM_ALERT_WINDOW 權限,它們只需直接請求 SYSTEM_ALERT_WINDOW 即可。
MANAGE_OVERLAY_PERMISSION intent 始終會將用戶轉至系統權限屏幕
從 Android?11 開始,ACTION_MANAGE_OVERLAY_PERMISSION intent 始終會將用戶轉至頂級設置屏幕,用戶可在其中授予或撤消應用的 SYSTEM_ALERT_WINDOW 權限。intent 中的任何 package: 數據都會被忽略。
在更低版本的 Android 中,ACTION_MANAGE_OVERLAY_PERMISSION intent 可以指定一個軟件包,它會將用戶轉至應用專用屏幕以管理權限。從 Android?11 開始將不再支持此功能,而是必須由用戶先選擇要授予或撤消哪些應用的權限。此變更可以讓權限的授予更有目的性,從而達到保護用戶的目的。
電話號碼
Android?11 更改了您的應用在讀取電話號碼時使用的與電話相關的權限。
如果您的應用以 Android?11 或更高版本為目標平臺,并且需要訪問以下列表中顯示的電話號碼 API,則必須請求 READ_PHONE_NUMBERS 權限,而不是 READ_PHONE_STATE 權限。
如果您的應用聲明 READ_PHONE_STATE 以調用前面列表中的方法以外的方法,您可以繼續在所有 Android 版本中請求 READ_PHONE_STATE。不過,如果您僅對前面列表中的方法使用 READ_PHONE_STATE 權限,請按以下方式更新您的清單文件:
更改 READ_PHONE_STATE 的聲明,以使您的應用僅在 Android 10(API 級別 29)及更低版本中使用該權限。
添加 READ_PHONE_NUMBERS 權限。
以下清單聲明代碼段演示了此過程:
android:maxSdkVersion="29" />
總結
以上是生活随笔為你收集整理的Android11权限管理,Android 11 中的权限更新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UE4 Pak文件操作
- 下一篇: android pak文件_Androi