我的代码:
public class StorageHelper {
public static File getFileDir(Context context, String folder) {
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
if (sdCardExist) {
sdDir = context.getExternalFilesDir(folder);
Log.println(Log.ERROR, "ZGStorage", "using External storage");
} else {
sdDir = context.getDir(folder, Context.MODE_PRIVATE);
Log.println(Log.ERROR, "ZGStorage", "using Internal storage");
}
return sdDir;
}
如果此代码有任何问题?因为在某些设备上调用getFileDir()
会变为空,但在大多数情况下会正常工作。
答案 0 :(得分:0)
您的设备(SD卡)中是否有外部存储设备?在这种情况下,请向您的Manifest添加以下权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
答案 1 :(得分:0)
重启设备后,您可以测试一次。 有时在连接/拆卸USB调试设备后会产生问题。