安卓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<String> perms) {
    Log.e("已获取权限", "权限");

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值