安卓6.0相机权限完美解决

安卓6.0以后的权限需要动态申请,很是头疼的一个问题,搞了两天,用了一个第三方直接封装好的框架,完美解决,下面请看源码:

build.gradle中添加

dependencies {

compile 'pub.devrel:easypermissions:0.1.5'
}

获取权限的界面实现

EasyPermissions.PermissionCallbacks接口,
在点击相机时,获取判断有没有相应的权限,有的话,直接调用相机,没有则动态获取权限,
private static final int RC_CAMERA_PERM = 123;

@AfterPermissionGranted(RC_CAMERA_PERM)
public void cameraTask() {
    if (EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
        // Have permission, do the thing!
        Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
        photo();//调用相机照相
    } else {//没有相应权限,获取相机权限
        // Ask for one permission
        EasyPermissions.requestPermissions(this, "",
                RC_CAMERA_PERM, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    }
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);

    // 将结果转发给EasyPermissions
    EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
 
  
@Override
public void onPermissionsGranted(int requestCode, List perms) {
    Log.e("已获取权限", "权限");

}

@Override
public void onPermissionsDenied(int requestCode, List perms) {
    Log.e("未获取权限", "未获取权限");
}
完成,安卓6.0的手机获取相机权限问题解决。

你可能感兴趣的:(权限)