首页 > 解决方案 > 如何为质量下降的捕获图像创建单独的文件夹

问题描述

嗨,我正在尝试使用以下代码为捕获的图像创建单独的文件夹而不会丢失质量,但我收到异常android.os.FileUriExposedException: file:///storage/emulated/0/myFolder/photo_20180504_102426.png 通过 ClipData 暴露在应用程序之外.Item.getUri()

mi-stack 做了什么可以纠正我的代码

代码:

String folder_main = "myFolder";
            File f = new File(Environment.getExternalStorageDirectory(), folder_main);
            if (!f.exists()) {
                f.mkdirs();
            }
            String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
            File file = new File(Environment.getExternalStorageDirectory(), "/myFolder" + "/photo_" + timeStamp + ".png");
            imageUri = Uri.fromFile(file);

            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
            startActivityForResult(intent, Constants.CAMERA_REQUEST_CODE);

 private void onCaptureImageResult(Intent data) {

        try {

            Bitmap thumbnail = MediaStore.Images.Media.getBitmap(getContentResolver(), imageUri);
            CircleImageView circleImageView = findViewById(formFields.get(imagePosition).getId());
            circleImageView.setImageBitmap(thumbnail);
}

标签: androidandroid-camera

解决方案


把它放在你的 oncreate()

StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());

推荐阅读