有没有解决方案可以选择保存文件的位置?也许可以使用原始文件浏览器选择目标位置吗?
谢谢!
有没有解决方案可以选择保存文件的位置?也许可以使用原始文件浏览器选择目标位置吗?
谢谢!
String extStorage = Environment.getExternalStorageState();
path = extStorage+"/Android/data/com.mydomain.myapp/";
当应用程序被卸载时,它将被删除。
这里实际上涉及到数据存储的所有内容。
http://developer.android.com/guide/topics/data/data-storage.html
从上面的链接中可以得知:
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/
最简单和预期的做法可能是将其保存到外部SD卡上的专用区域。
您可以通过调用来获取此文件夹
file://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