#javascript #android #html #css #cordova
#javascript #Android #HTML #css #кордова
Вопрос:
Я разрабатываю приложение cordova, содержащее MP3-плеер, для этого мне нужно получить все MP3-файлы на устройстве, я знаю, как выполнить поиск на SD-карте (с помощью cordova.file.externalRootDirectory), но как получить доступ к классическому хранилищу устройства? (Где есть «Android», «DCIM», «Загрузить»… папки)
Заранее спасибо.
РЕДАКТИРОВАТЬ: cordova.file.DataDirectory не работает
Ответ №1:
Я использую плагин cordova-plugin-file
, и у меня работает доступ к внутреннему файловому хранилищу
var folderpath = cordova.file.dataDirectory "Download/";
Структура каталогов Android
- файлы: внутренний каталог хранилища файлов приложения
- files-external: внешний каталог хранилища файлов приложения
- sdcard: глобальный внешний каталог для хранения файлов (это корневой каталог SD-карты, если она установлена). У вас должно быть разрешение android..Разрешение WRITE_EXTERNAL_STORAGE на использование этого.
- кэш: внутренний каталог кэша приложения
- cache-external: каталог внешнего кэша приложения
- ресурсы: пакет приложения (доступен только для чтения)
- root: файловая система всего устройства
- Каталог приложений: доступен только для чтения с ограниченным доступом. Копирование файлов в этот каталог возможно, но прямое чтение приводит к «файл не найден». Android также поддерживает специальную файловую систему с именем «documents», которая представляет подкаталог «/Documents /» в файловой системе «files».
Дополнительная информация в документе Apache
Комментарии:
1. У меня это выдает ошибку, Вот мой код:
window.resolveLocalFileSystemURL(cordova.file.dataDirectory 'Music/', function (fileSystem) { var reader = fileSystem.createReader(); reader.readEntries( function (entries) { navigator.notification.alert('Entry: ' entries, null, 'RedSet', 'OK'); }, function (err) { navigator.notification.alert('Err! ' err, null, 'RedSet', 'OK'); }); }, function (err) { navigator.notification.alert('Error! ' err, null, 'RedSet', 'OK'); });