日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 简介 | 权限申请处理细节 | 添加依赖 | 界面权限申请结果处理 | 权限申请结果回调接口 )

發布時間:2025/6/17 Android 34 豆豆

文章目錄

  • 一、EasyPermissions 簡介
  • 二、EasyPermissions 權限申請處理細節
  • 三、添加 EasyPermissions 依賴
  • 四、權限申請結果處理 方法 onRequestPermissionsResult
  • 五、權限申請結果回調接口 PermissionCallbacks





一、EasyPermissions 簡介



EasyPermissions 是一個權限申請庫 , 可以簡化在 Android M 6.0 ( API Level 23 ) 及以上系統中的基本權限的動態申請操作 ;

  • GitHub 頁面 : Github/EasyPermissions

  • 發布版本頁面 : EasyPermissions 發布版本下載

EasyPermissions 是 谷歌官方推薦 的動態權限申請庫 ;





二、EasyPermissions 權限申請處理細節



權限申請處理細節 :

① 用戶同意權限申請 : 一般情況下 結合 @AfterPermissionGranted 注解使用 , 該注解的作用是 , 如果指定的權限用戶全部授權 , 那么再次回調該方法 , 執行實際的需要該權限的操作 ;

② 用戶拒絕權限申請 : 用戶之前拒絕了權限申請 , 再次申請時會彈出 權限申請原理對話框 , 讓用戶了解申請該權限的原因 ;

③ 用戶永久拒絕權限申請 : 用戶之前已經禁止詢問權限申請 , 即永久拒絕了權限申請 , 此時需要彈出 引導用戶設置權限對話框 , 該對話框的作用是 , 跳轉到設置界面的權限設置頁面 , 讓用戶自行設置權限 , 此時無法以 應用內對話框的形式設置權限 ;





三、添加 EasyPermissions 依賴



在 Module 級別的 build.gradle 中進行如下配置 :

dependencies {// 使用 Android X 的應用添加該依賴implementation 'pub.devrel:easypermissions:3.0.0'// 使用 Android Support Library 支持庫 , 添加該依賴implementation 'pub.devrel:easypermissions:2.0.1' }

注意 使用不同的支持庫 , 需要配置不同的 EasyPermissions 依賴庫 ;

  • 使用 Android X : 需要添加 3.0.0 版本的依賴 ;
  • 使用 Android Support Library 支持庫 : 需要添加 2.0.1 版本的依賴 ;




四、權限申請結果處理 方法 onRequestPermissionsResult



Activity 中需要實現 onRequestPermissionsResult 方法 , 用于處理權限申請結果 , 如 : 用戶點擊同意后的后續操作 , 用戶點擊拒絕后的后續操作 , 都需要通過該接口通知 EasyPermissions , EasyPermissions 收到結果后 , 會回調相關的回調函數 ;

/*** 1. 重寫 Activity 的 onRequestPermissionsResult 方法* 主要是在該方法中使用 EasyPermissions 進一步處理權限申請后續結果*/override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray){super.onRequestPermissionsResult(requestCode, permissions, grantResults)// 進一步使用 EasyPermissions 處理后續結果EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);}



五、權限申請結果回調接口 PermissionCallbacks



權限申請結果回調接口 PermissionCallbacks :

① 接口方法 :

/*** EasyPermissions.requestPermissions() 方法執行結果的回調接口*/public interface PermissionCallbacks extends ActivityCompat.OnRequestPermissionsResultCallback {void onPermissionsGranted(int requestCode, @NonNull List<String> perms);void onPermissionsDenied(int requestCode, @NonNull List<String> perms);}

② 申請單個權限成功 : 回調 onPermissionsGranted 方法 , perms 參數是請求成功的權限字符串集合 ;

③ 申請單個權限失敗 : 回調 onPermissionsDenied方法 , perms 參數是請求失敗的權限字符串集合 ;

④ 申請多個權限 : 如果申請 5 個權限 , 3 個同意 , 2 個拒絕 , 那么就會 回調 onPermissionsGranted 和 onPermissionsDenied 方法各一次 , 每個回調方法中都會顯示同意或拒絕的若干個權限 ;

總結

以上是生活随笔為你收集整理的【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 简介 | 权限申请处理细节 | 添加依赖 | 界面权限申请结果处理 | 权限申请结果回调接口 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。