Правильно ли назначен путь на папку Android?

Имеется директория на самом устройстве. Вот путь до неё:/storage/emulated/0/Sputnik.Droid/Export/. Также, имеется метод, который пытается считывать файлы в этой директории:

        void check(String path) {
        folder = new File(path);
        listOfFiles = folder.listFiles();
        if(listOfFiles == null)
            Log.d(TAG_LOG, "Files are: " + fileNames);
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    for (File file : listOfFiles) {
                        if (!fileNames.contains(file.getName())) {
                            fileNames.add(file.getName());
                            Log.d(TAG_LOG, "File added: " + file.getName());
                        } else
                            Log.d(TAG_LOG, "File already exists: " + file.getName());
                    }

                    Log.d(TAG_LOG, "Files are: " + fileNames);
                } catch(NullPointerException e) {
                    Log.d(TAG_LOG, "Files are: " + fileNames);
                }
            }
        }).start();
    }

Проблема в том, что при выполнении кода массив типа File[] ListOfFiles всегда возвращает Null, вызывая NullPointerException. По-хорошему, он должен так делать, если в директории нет файлов. Но в том-то и дело ,что файлы в ней точно есть. Моя проблема состоит в том, что, во-первых, правильно ли я указал путь до директории? А во-вторых, правильно ли я вообще пытаюсь считать файлы с папки? Может быть есть другой способ?

P.S. В AndroidManifest.xml установлен пермишн на <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />. Android версии 6.0, Android SDK: 28. Буду рад любой помощи


Ответы (0 шт):