解决安卓7.0拍照更换头像重启的问题(主要针对华为手机)

//解决7.0系统打开sd卡找不到文件的问题
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
            StrictMode.setVmPolicy(builder.build());
        }

将上边代码加入到打开相机的的方法中

private void openCamra() {
        String timeStamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        String fileName = "head_icon.jpg";//照片命名
        String path = Constants.sdcardRoot + Constants.uploadPicPath;

        File out = new File(path, fileName);
        Uri uri = Uri.fromFile(out);
        //解决7.0系统打开sd卡找不到文件的问题
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
            StrictMode.setVmPolicy(builder.build());
        }
//      Uri uri = null;
//      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//          //通过FileProvider创建一个content类型的Uri
            uri = FileProvider.getUriForFile(myContext, "lab.tonglu.com.hybriddemo", out);
//          uri = FileProvider.getUriForFile(myContext, "com.lab.web.activity", out);
//      } else {
//          uri = Uri.fromFile(out);
//      }

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//          intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //添加这一句表示对目标应用临时授权该Uri所代表的文件
//      }
        intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
        ((Activity)myContext).startActivityForResult(intent, Constants.REQUST_CHOOSE_PIC_CAMERA);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值