1. 程式人生 > >使用EasyPermissions 來打造簡單的android6.0動態許可權

使用EasyPermissions 來打造簡單的android6.0動態許可權

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的專案,很簡單,大家可以下載使用。