应用无法在应用拥有的目录中的folder/file
外部存储上创建android 5(HTC HTC6525LVW os version: 5.0.1)
。
父{@ 1}}方法返回父文件夹。
[getExternalFilesDirs(String type)][1]
已安装。
其他人有这个问题或建议如何解决?
(很遗憾,我没有让此设备对其进行更多测试)
编辑:从一个用户我知道,在此错误之前,她加密了SD卡,然后对其进行了格式化。
答案 0 :(得分:9)
关于导致它的原因的一些潜在想法:
如果手机在连接到计算机时以USB存储模式运行,您仍然可以正常部署/调试,但写入操作将失败
您错过了一项权限:您应在清单文件中检查是否有data
错误位置的权限:确保您的权限标记(在清单中)位于应用程序的外
写入sdcard
文件夹可能会导致此类问题,因此请确保您已写入data
而不是{{1}}
这是我能想到的一切。希望它有所帮助:)
答案 1 :(得分:2)
返回在外部存储上保存应用程序文件的目录的路径。如果当前未安装外部存储,则返回null,因此无法确保路径存在;您需要在可用时再次调用此方法。
另一个选项是您可以检查外部存储是否可用:
String state = Environment.getExternalStorageState();
File filesDir;
// Make sure it's available
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
filesDir = getExternalFilesDir(null);
} else {
// Load another directory, probably local memory
filesDir = getFilesDir();
}
答案 2 :(得分:1)
我有同样的问题,但找到确切的解决方案希望这个答案对你有帮助
//Create Folder
File folder = new
File(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images");
folder.mkdirs();
//Save the path as a string value
String extStorageDirectory = folder.toString();
//Create New file and name it Image2.PNG
File file = new File(extStorageDirectory, "Image2.PNG");
答案 3 :(得分:0)
添加manifest.xml文件权限
的权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />