Поиск пути к SD-карте в Android-приложении
Я разрабатываю Android-приложение в браузере, используя Cordova (AKA Phonegap), работающее на самом устройстве. У меня нет проблем с чтением / записью файлов на SD-карту в моем эмуляторе, но мне кажется, что я не могу положиться на то, что он монтируется в / sdcard в реальном мире, тем более что друг указал, что некоторые устройства могут на самом деле есть больше чем один.
Поискавшись, я вижу множество ответов о том, как найти путь к SD-карте при разработке приложения на Java, но нет упоминания о том, как сделать то же самое в моем Javascript. Интересно, сможет ли кто-нибудь указать мне правильное направление, пожалуйста?
2 ответа
Вот почему вы используете:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);
Объект файловой системы, который вы получаете в обратном вызове onSuccess, будет иметь корневое свойство, которое представляет собой DirectoryEntry, которое в большинстве случаев указывает на каталог /sdcard в Android. Этот метод вызывает код Java для определения правильного внешнего каталога хранения, и он должен быть для вас согласованным.
Если вы пытаетесь сохранить фотографии с помощью PhoneGap, вы должны использовать свойство:
destinationType : Camera.DestinationType.FILE_URI, saveToPhotoAlbum: true
Изображения, сохраненные по этому пути: / mnt / sdcard / DCIM / camera
Полный код выглядит так:
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });