记录开发中遇到的坑(华为手机获取拍照权限后拍照,返回值为空)!

目前在开发中遇到了需要拍照和从图库中选择图片展示并上传的功能。按部就班的进行开发,到最后阶段了。结果公司几个华为手机测试的时候出了问题。拍照后拿到的照片永远是空的。这就尴尬了,毕竟我这里的开发机只有个渣渣三星,还是4.0的系统。哪玩过7.0的高大上。马上借来观摩查找。代码就不用贴了,点击拍照完后拿到的路径就是个null。

经过排查。原来是华为在7.0以后的系统中,对于拍照后返回的图片也做了权限处理。所以说,华为7.0在拍照的时候,不仅要拿到拍照CAMERA的权限,还要拿到读写文件的权限

WRITE_EXTERNAL_STORAGE。具体对权限的操作我贴个代码出来吧。

    public void takePhone() {
        if (Build.VERSION.SDK_INT >= 23) {
            int checkCallPhonePermission = ContextCompat.checkSelfPermission(getActivity(),
                    Manifest.permission.CAMERA);
            if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA,}
                        , MY_PERMISSIONS_REQUEST_CALL_PHONE);
            } else if (ContextCompat.checkSelfPermission(getActivity(),
                    Manifest.permission.WRITE_EXT
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值