есть ли какое-либо решение, как выбрать место сохранения файлов? возможно, с исходным файловым браузером, чтобы выбрать пункт назначения?
Благодарю вас!
есть ли какое-либо решение, как выбрать место сохранения файлов? возможно, с исходным файловым браузером, чтобы выбрать пункт назначения?
Благодарю вас!
Все, что вам нужно, Android Directory Picker
Лучше сохранить файлы в пространстве имен приложений:
String extStorage = Environment.getExternalStorageState();
path = extStorage+"/Android/data/com.mydomain.myapp/";
Он удаляется, когда приложение будет удалено.
Вот на самом деле все о хранении данных.
http://developer.android.com/guide/topics/data/data-storage.html
Из приведенной выше ссылки:
Если вы используете API-уровень 7 или ниже, используйте
getExternalStorageDirectory()
, чтобы открыть aFile
, представляющий корень внешнего хранилища. Затем вы должны записать свои данные в следующий каталог:/Android/data/<package_name>/files/
Это, вероятно, самый простой и ожидаемый, чтобы сохранить это в выделенной области на внешней 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