2017-02-28 5 views
0

アンドロイドキャッシュには、実行時にアンドロイドアプリキャッシュに必要な外部ストレージの読み取りと書き込みの権限が混乱しています。誰でもこの混乱のために私を助けることができます。例えば、あなたが、実行時https://developer.android.com/training/permissions/requesting.htmlで例を許可を依頼する必要がありAndroidアプリキャッシュに必要なストレージ権限

File tempFile = File.createTempFile("img", ".png", getExternalCacheDir()); 
String imgPath = tempFile.getAbsolutePath(); 

答えて

0

記憶許可

private static final int REQUEST_STORAGE = 112; 



    if (Build.VERSION.SDK_INT >= 23) { 
     String[] PERMISSIONS = {android.Manifest.permission.WRITE_EXTERNAL_STORAGE,android.Manifest.permission.READ_EXTERNAL_STORAGE}; 
     if (!hasPermissions(mContext, PERMISSIONS)) { 
      ActivityCompat.requestPermissions((Activity) mContext, PERMISSIONS, REQUEST_STORAGE); 
     } else { 

      File tempFile = File.createTempFile("img", ".png", getExternalCacheDir()); 
      imgPath = tempFile.getAbsolutePath(); 
     } 
    } else { 

     File tempFile = File.createTempFile("img", ".png", getExternalCacheDir()); 
     imgPath = tempFile.getAbsolutePath(); 
    } 

は権限が

を結果取得、これを試してみてください012マシュマロのための

チェック権限

private static boolean hasPermissions(Context context, String... permissions) { 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) { 
      for (String permission : permissions) { 
       if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { 
        return false; 
       } 

      } 
     } 
     return true; 
    } 
0

public void requestPermissionForExternalStorage() { 
     if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { 
      Toast.makeText(activity, "External Storage permission needed. Please allow in App Settings for additional functionality.", Toast.LENGTH_LONG).show(); 
     } else { 
      ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_PERMISSION_REQUEST_CODE); 
     } 
} 
関連する問題