次のコード出力は「書き込みが許可されましたが、その後はエラーです」/storage/emulated/0/Download/test.txt:オープンに失敗しました:EACCES(許可が拒否されました)android.permission.WRITE_EXTERNAL_STORAGEは許可されましたがアクセスは拒否されました
どういうところが間違っていますか?
@RunWith(AndroidJUnit4.class)
public class FileStorageTest {
private static final String TAG = FileStorageTest.class.getSimpleName();
@Test
public void test() throws Exception {
Context context = InstrumentationRegistry.getTargetContext();
if (context.checkSelfPermission("android.permission.WRITE_EXTERNAL_STORAGE") == PackageManager.PERMISSION_GRANTED) {
Log.d(TAG, "Write granted");
} else {
Log.e(TAG, "Write refused");
}
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"test.txt");
new FileOutputStream(file).close();
}
}
あなたはまた、我々は 'Runtime'で許可の両方のために定義する必要はありません' device.' –
@TimCastelijns卿からデータを読み込むためのREAD_EXTERNAL_STORAGE権限を使用する必要があることができますか? –
@jaydroiderあなたが言うことができるのはドキュメントだ*アプリケーションがマニフェストにリストされている危険なアクセス権を要求していて、アプリが既に同じアクセス権グループに別の危険なアクセス権を持っている場合、システムはユーザーとのやりとりなしに、 –