Android 7.0写真の崩壊問題

1512 ワード

問題:Android 7.0携帯電話はカメラを開けて崩壊が現れますか?android.os.FileUriExposedException:file:///storage/emulated/0/Pictures/IMG_2017315065632.jpg expos
ソリューション:
  • target SdkVersionは24以下を書いています。
  • ContentProviderを使用する:http://blog.csdn.net/huangxiaoguo1/article/details/52830015 (検索した問題解決ブログ)
  • もう一つはFileProviderを使うことです。http://www.cnblogs.com/netcorner/p/6542373.html http://blog.csdn.net/honjane/article/details/52057132 (ネットが多いので、直接にある解決のウェブサイトを貼りました)
  • ContentProvider方式を使って具体的にコードを解決します。
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (intent.resolveActivity(context.getPackageManager()) != null) {
            /*       android   */
          int currentApiVersion = Build.VERSION.SDK_INT;
          if (currentApiVersion < Build.VERSION_CODES.N) {
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
                context.startActivityForResult(intent, REQUEST_CAMERA);
           } else {
                ContentValues contentValues = new ContentValues(1);
                contentValues.put(MediaStore.Images.Media.DATA, file.getAbsolutePath());
                Uri uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
                context.startActivityForResult(intent, REQUEST_CAMERA);
            }
    } else {
        Toast.makeText(context, "     ", Toast.LENGTH_SHORT).show();
    }
    
    最近見たいい文章:
  • https://youzanmobile.github.io/2017/04/01/fileprovider-on-n/