Android 关于9.0版本之后相机权限问题

 权限有三种状态

1.用户已经同意该权限

2.用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框

3.用户拒绝了该权限,并且选中『不再询问』,提醒用户手动打开权限

所以第三种,就是没有权限,也不会给你弹出系统权限

这是一个调取系统相机使用知乎源码调取相册的方法:

//知乎 调用系统相册 api 'com.zhihu.android:matisse:0.5.0-alpha4'

//相机
    public void getphoto() {
        PictureDialog pictureDialog = new PictureDialog();
        pictureDialog.setOnPersonalListener(new PictureDialog.OnPersonalListener() {
            @Override
            public void onTop() {
                File file = new File(Environment.getExternalStorageDirectory().getPath() + "/" + System.currentTimeMillis() + ".jpg");
                imageuri = Uri.fromFile(file);

                //用于判断SDK版本是否大于23
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    //检查权限
                    int i = ContextCompat.checkSelfPermission(getContext(), PERMISSIONS_STORAGE[0]);//0表示读写权限
                    int i2 = ContextCompat.checkSelfPermission(getContext(), PERMISSIONS_STORAGE[1]);//1表示照相权限
                    //如果权限申请失败,则重新申请权限
                    if (i == PackageManager.PERMISSION_DENIED && i2 == PackageManager.PERMISSION_DENIED) {//-1没授权
                        //重新申请权限函数
                        startRequestPermission();
                        Logger.e("权限请求成功");
                    } else if (i == PackageManager.PERMISS
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值