Кордова - доступ к SDCARD - PullRequest
       28

Кордова - доступ к SDCARD

0 голосов
/ 02 апреля 2020

Кто-нибудь знает, возможно ли получить доступ к SDCARD через Cordova. В настоящее время я занимаюсь разработкой приложения Musi c Player и пытаюсь в течение 3 дней. Я не могу получить доступ к некоторым сохраненным mp3-файлам на SD-карте в устройстве.

Я использую cordova-plugin- файл и сразу я вижу, что 'cordova.file.externalRootDirectory' возвращает 'файл: /// storage / emulated / 0 /' (локально смонтированная файловая система?), а не ожидаемая внешняя файловая система SDCard, как в случае cordova-plugin- файл документации?

Для обнаружения смонтированной SD-карты я использую 'cordova-Diagnosti c -plugin', который возвращает точку монтирования SD-карты как 'file: /// storage / 492E-BE06'. Это также сообщает, что файловая система доступна для записи, но я не могу писать или читать, когда пытаюсь.

Я добавил следующие 2 строки в AndroidManifest. xml file

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Я запрашиваю разрешение на запись во время выполнения

            function requestExternalSdPermission(done){
            cordova.plugins.diagnostic.requestRuntimePermission(function(status){
                switch(status){
                    case cordova.plugins.diagnostic.permissionStatus.GRANTED:
                        console.log("Permission granted");

                        break;
                    case cordova.plugins.diagnostic.permissionStatus.DENIED:
                        console.log("Permission denied");

                        break;
                    case cordova.plugins.diagnostic.permissionStatus.DENIED_ALWAYS:
                        console.log("Permission permanently denied");

                        break;
                }
            }, function(error){
                console.error("The following error occurred: "+error);

            }, cordova.plugins.diagnostic.permission.WRITE_EXTERNAL_STORAGE);
        }

, и я добавил следующее в config. xml

<preference name="AndroidPersistentFileLocation" value="Compatibility" />
    <preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,assets" />

Это, очевидно, проблема с разрешениями, но у меня полностью закончились идеи. Чтение и запись во внутреннюю файловую систему работает как положено. Я не могу понять, что происходит? Это вообще возможно через Кордову или это ограничение?

...