Подтвердить что ты не робот

Android, как выбрать сохранение местоположения файла?

есть ли какое-либо решение, как выбрать место сохранения файлов? возможно, с исходным файловым браузером, чтобы выбрать пункт назначения?

Благодарю вас!

4b9b3361

Ответ 2

Лучше сохранить файлы в пространстве имен приложений:

String extStorage = Environment.getExternalStorageState();
path = extStorage+"/Android/data/com.mydomain.myapp/";

Он удаляется, когда приложение будет удалено.

Вот на самом деле все о хранении данных.
http://developer.android.com/guide/topics/data/data-storage.html

Из приведенной выше ссылки:

Если вы используете API-уровень 7 или ниже, используйте getExternalStorageDirectory(), чтобы открыть a File, представляющий корень внешнего хранилища. Затем вы должны записать свои данные в следующий каталог:

/Android/data/<package_name>/files/

Ответ 3

Это, вероятно, самый простой и ожидаемый, чтобы сохранить это в выделенной области на внешней SD-карте.

Вы можете получить эту папку, вызвав

Файл://localhost/Applications/android-sdk-macosx/docs/reference/android/os/Environment.html#getExternalStoragePublicDirectory (java.lang.String)

File path = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES)

Вы также можете добавить подпапку, чтобы лучше ссылаться на источник, т.е. ваше приложение.

Вы можете выбрать DIRECTORY_PICTURES или DIRECTORY_MOVIES. Если бы он был создан пользователем, я бы, вероятно, придерживался изображений.

Чтобы быть полезным, вы также можете вызвать медиа-сканер, чтобы добавить его в соответствующую систему поставщика контента.

sendBroadcast( new Intent(Intent.ACTION_MEDIA_MOUNTED, 
                    Uri.parse("file://" + Environment.getExternalStorageDirectory()))
        );

Если вы ДОЛЖНЫ получить выбор файла, который не является рекоммендантным подходом, чтобы разоблачить пользователя в файловой системе. Попробуйте открыть форму выбора Open Intents. http://www.openintents.org/en/node/164