Android 7.0调用相机崩溃

来源:互联网 发布:黄金交易行情软件 编辑:程序博客网 时间:2024/06/05 11:21

错误提示:

android.os.FileUriExposedException: file:///storage/emulated/0/DCIM/IMG_1041503431.jpg exposed beyond app through ClipData.Item.getUri()

这里写图片描述

处理方式

/** * Open camera */private void showCameraAction() {    if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)            != PackageManager.PERMISSION_GRANTED) {        requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE,                getString(R.string.mis_permission_rationale_write_storage),                REQUEST_STORAGE_WRITE_ACCESS_PERMISSION);    } else {        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);        if (intent.resolveActivity(getActivity().getPackageManager()) != null) {            try {                mTmpFile = FileUtils.createTmpFile(getActivity());            } catch (IOException e) {                e.printStackTrace();            }            if (mTmpFile != null && mTmpFile.exists()) {                 /*获取当前系统的android版本号*/                int currentapiVersion = android.os.Build.VERSION.SDK_INT;                Log.e("currentapiVersion","currentapiVersion====>"+currentapiVersion);                if (currentapiVersion<24){                    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mTmpFile));                    startActivityForResult(intent, REQUEST_CAMERA);                }else {                    ContentValues contentValues = new ContentValues(1);                    contentValues.put(MediaStore.Images.Media.DATA, mTmpFile.getAbsolutePath());                    Uri uri = getContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);                    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);                    startActivityForResult(intent, REQUEST_CAMERA);                }            } else {                Toast.makeText(getActivity(), R.string.mis_error_image_not_exist, Toast.LENGTH_SHORT).show();            }        } else {            Toast.makeText(getActivity(), R.string.mis_msg_no_camera, Toast.LENGTH_SHORT).show();        }    }}
0 0
原创粉丝点击