使用EasyPermissions 來打造簡單的android6.0動態許可權
阿新 • • 發佈:2019-01-06
EasyPermissions 的介紹
EasyPermissions是一個三方庫,用於android6.0動態許可權的使用。
在android6.0版本中,涉及到許可權問題的使用,都需要進行動態申請。
EasyPermissions 的使用
在build.gradle中
dependencies {
compile 'pub.devrel:easypermissions:0.4.0'
}
開發過程中,遇到需要使用動態許可權時,新增如下程式碼
if (EasyPermissions.hasPermissions(this, "android.permission.XXXX" )) {
//具備許可權 直接進行操作
} else {
//許可權拒絕 申請許可權
EasyPermissions.requestPermissions(this, "", PERMISSION_CAMERA, "android.permission.XXXX"); }
然後在activity或fragment中 覆蓋onRequestPermissionsResult方法
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int [] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
// 將結果轉發到EasyPermissions
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
最後用activity或fragment實現 EasyPermissions.PermissionCallbacks介面 複寫它的兩個回撥方法
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {//某些許可權已被授予
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) { //某些許可權已被拒絕
if (requestCode == PERMISSION_CAMERA) {
//顯示dialog來提示使用者去設定
new AppSettingsDialog.Builder(this).setRationale("1231414").setTitle("標題").build().show();
}
}
啦啦啦。。這樣我們就完成了用EasyPermissions 來實現android6.0的動態許可權的申請。
EasyPermissions 的下載
下面放githup的專案,很簡單,大家可以下載使用。