ExplainPermissions
動態權限申請并展示權限使用說明
隨著工信部對APP的一系列整治,現在用戶對于APP在使用時動態申請的權限是比較敏感的,為了更好的用戶體驗,我們可以在權限動態申請的時候一并向用戶展示所需要申請權限的使用說明,這樣用戶就會了解到你所要申請權限的目的,是不是更放心授予了呢?
安卓開發中,我們調用系統的動態申請權限方法,系統只是彈出一個授予詢問框,我們要展示使用說明就要自己實現了。
下面是效果圖:
img1.jpg
img2.png
這里的實現方案是啟動一個新的透明主題頁面,在該頁面上調用系統api來判斷權限是否已被授予,若已有權限則直接返回結果并關閉當前頁面,因為是透明主題且還沒設置布局,所以對用戶是無感知的。
若存在沒有授予的任何一個權限,就會給當前頁面設置布局和展示該權限對應的使用說明,并向系統動態申請該權限,外部調用可以同時申請一個或多個權限,當用戶授予權限后正常返回,若遭到拒絕則會根據外部提供的權限攔截級別進行彈框提示,根據彈框用戶可以打開系統設置去授予權限,這里因為在設置頁面用戶還可以撤銷任意權限,所以從設置頁面返回時校驗了權限授予狀態和更新權限使用說明列表。
外部使用時只需將權限與使用說明以及攔截級別傳進來即可,詳細請看代碼。
下面是項目地址:
GitHub - weioule/ExplainPermissions: 動態權限申請并展示權限使用說明