WRITE_EXTERNAL_STORAGE предоставлен, хотя не может создавать файлы dirs / write - PullRequest
0 голосов
/ 18 сентября 2018

Добрый день, мои коллеги-программисты,

Мне очень жаль, что я спросил такую ​​глупость.Я уверен, что есть кое-что основное, что я пропускаю.В любом случае, я пытаюсь сохранить некоторые данные на внешнем хранилище.Вот мой код:

        if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PERMISSION_GRANTED) return;
        File testDir = new File(Environment.getExternalStorageDirectory() + "/test/");
        final String externalStorageState = Environment.getExternalStorageState();
        Log.d("STATE", externalStorageState);
        if (Environment.MEDIA_MOUNTED.equals(externalStorageState)) {
            Log.d("PATH", testDir.getAbsolutePath());
            if (!testDir.exists()) {
                Log.d("MAKE DIRS", testDir.mkdirs() + "");
                Log.d("MAKE DIR", testDir.mkdir() + "");
            }
            File aFile = new File(testDir, "somefile");
            FileOutputStream fos = new FileOutputStream(aFile);
            fos.write("data".getBytes());
            fos.close();
        }

И журнал здесь:

D/STATE: mounted
D/PATH: /storage/emulated/0/test
D/MAKE DIRS: false
D/MAKE DIR: false

Проблема в том, что каталог не создан и, как следствие, FileOutputStream выдает IOException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...