2016-07-06 12 views
1

1) ВопросПутаница во внешнем хранилище в андроида

Я использовал INSTALLLOCATION в очевидном

android:installLocation="preferExternal" 

Поправьте меня, если я ошибаюсь. android: installLocation = "preferExternal", чтобы установить приложение на внешнюю SD-карту. Если это правда, я не должен использовать myapplication при удалении sdcard. Но тем не менее я могу использовать MyApplication даже когда я удалил SDCard с устройства

2) Вопрос

чем разница между sdcard0 и extsdcard на моем устройстве? даже когда я использую в моем манифесте

android:installLocation="preferExternal" 

все файлы приложения хранятся на sdcard0 и она доступна даже тогда, когда я SDCard в моем устройстве. я использовал ниже метод для хранения файлов на SDCard

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 

Итак, в каком состоянии мои файлы будут храниться на моем SDCard? и как я могу хранить файлы на extsdcard?

+0

Это может сработать для вас http://stackoverflow.com/a/31758403/5296734 Hope for best –

ответ

1

1) Как указано в документации:

Если вы объявляете «preferExternal», вы запрашиваете, что ваше приложение будет установлен на внешнем запоминающем устройстве, но система не гарантирует , что ваша заявка будет установленный на внешнем хранилище.

Отключение внешнего хранилища означает, что все запущенные приложения, которые были установлены там, будут немедленно убиты. Если вы все еще можете использовать свое приложение, я вижу две возможные причины: система решила установить ваше приложение во внутреннем хранилище. На вашем устройстве также есть эмулированное «внешнее» хранилище, и там было установлено ваше приложение.

2)

чем разница между sdcard0 и extsdcard на устройстве

Это общее, что sdcard0 относится к устройству внутреннего хранения данных, а extsdcard относится к внешней памяти, который может быть физическим или эмулировать. Однако есть нет надежного соглашения об именах, это зависит от поставщика.

Также обратите внимание, что «внешний» Android в основном означает «хранилище, к которому пользователь может получить доступ».
Несколько дальнейших шагов, которые могли бы помочь:

  • использовать ADB Shell для изучения структуры хранения вашего устройства, с подсоединенной SD-картой и отдельно стоящий

  • проверить приложение расположения установки из меню настроек «Приложения»

  • Вход абсолютные пути каталогов, предоставляемые различными методами Environment класса

Примечание: как правило, вы никогда не должны полагаться на предположения о месте установки вашего приложения, так как это может вызвать у вас проблемы на некоторых устройствах.

+0

В каких файлах условий будут храниться на exsdcard? потому что он хранит все файлы на sdcard0 всякий раз, когда я использую Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DOWNLOADS); – FaisalAhmed

+0

для чего вы используете этот каталог? Вы загружаете в него некоторые файлы? Кроме того, пожалуйста, зарегистрируйте абсолютный путь в каталоге загрузки ('Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DOWNLOADS) .getAbsolutePath()') – Droidman

+0

Нет, я ничего не загружаю. Я просто храню файлы изображений для этого на практике. мой вопрос заключается в том, как я могу сохранить файл на extsdcard или в каком состоянии он сохранит мое изображение в extsdcard, потому что мой файл изображения идет в sdcard0 – FaisalAhmed