Android 7.0 照相 FileUriExposedException

          vFile = new File("/xxx/" + System.currentTimeMillis() + ".jpg");
                if (!vFile.exists()) {
                    File vDirPath = vFile.getParentFile();
                    vDirPath.mkdirs();
                }
                Uri uri = Uri.fromFile(vFile);
//                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//                intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

                //Android N :FileUriExposedException solved
                ContentValues contentValues = new ContentValues(1);
                contentValues.put(MediaStore.Images.Media.DATA, vFile.getAbsolutePath());
                Uri uri1 = UserInfoActivity.this.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);

                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, uri1);

使用ContentProvider传Uri,避免crush.

posted on 2017-03-03 14:53  seemann  阅读(184)  评论(0编辑  收藏  举报

导航