Reputation: 1770
is there any solution how to choose the saving files location? maybe with the original file browser, to choose the destination?
thank you!
Upvotes: 12
Views: 28204
Reputation: 4214
Better to save files with your app namespace:
String extStorage = Environment.getExternalStorageState();
path = extStorage+"/Android/data/com.mydomain.myapp/";
It will be deleted when app gets uninstalled.
Here is actually everything about data storing.
http://developer.android.com/guide/topics/data/data-storage.html
From the above link:
If you're using API Level 7 or lower, use
getExternalStorageDirectory()
, to open aFile
representing the root of the external storage. You should then write your data in the following directory:/Android/data/<package_name>/files/
Upvotes: 3
Reputation: 6731
It's probably easiest and expected to save this out to the dedicated area on the external SD card.
You can get this folder by calling
file://localhost/Applications/android-sdk-macosx/docs/reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String)
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES)
You can also append a sub-folder to reference the source better ie. your app.
You can either choose DIRECTORY_PICTURES or DIRECTORY_MOVIES. If it's user created I'd probably stick to pictures.
To be helpful you can also call the media scanner to add it to the appropriate content provider system wide.
sendBroadcast( new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory()))
);
If you MUST get a file chooser going, which isn't the recomened approach to expose the user to the file system. Try the file chooser form Open Intents. http://www.openintents.org/en/node/164
Upvotes: 0