Android 6.0(API 23)以上の端末を使用している場合、は実行時に許可を要求する必要があります。
READ_EXTERNAL_STORAGEは危険なに分類されます。だから、
、外部ストレージロジックを読んで実装する前に、ユーザーが許可した場合、あなたがチェックするあなたの活動に
// Request permissions
if(ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE
);
}
if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
PERMISSION_REQUEST_READ_EXTERNAL_STORAGE
);
}
これを追加する最初の必要性、それを行うには、ユーザー権限
を依頼する必要がありますこのオーバーライドメソッドを追加するパーミッション。
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case PERMISSION_REQUEST_READ_EXTERNAL_STORAGE:
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
Log.d("PERMISSION", "SUCCESS");
}else{
Log.d("PERMISSION", "FAIL");
}
return;
case PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE:
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
Log.d("PERMISSION", "SUCCESS");
}else{
Log.d("PERMISSION", "FAIL");
}
return;
}
}
https://developer.android.com/training/permissions/requesting.html(Android 6.0以降が必要) –