<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
"/sdcard/filename"
。我猜Nexus没有外部SD支持但S2有,我认为这可能会导致路径出现问题。我该如何优雅地处理这样的案件?
答案 0 :(得分:5)
在每台Android设备上,您都可以获得外部存储的路径,如下所示
Environment.getExternalStorageDirectory()
我有一个Nexus设备,它可以运行 - 也可以在我的旧里程碑
答案 1 :(得分:0)
以下是创建自己的应用目录的示例用法:
您应该始终检查SD卡是否可用,因为它可以安装/风化到计算机或从设备中删除。
private void SetDirectory() {
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
extStorageDirectory = Environment.getExternalStorageDirectory().toString();
File dbDirectory = new File(extStorageDirectory + "/yourAppName/whatever/");
myDirectory.mkdirs();// Have the object build the directory
} else if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED_READ_ONLY)) {
//TODO Make some kind of allert or Toast to warn/notify the user that the SDcard is needed.
}
}
您可以使用android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)
方法检查您的应用中的卡是否可用。