我查看了很多帖子,但仍然没有答案。添加WRITE_EXTERNAL_STORAGE然后检查SD卡是否可写并装入后,我仍然得到“文件的父目录不可写”。我正在使用eclipse和模拟器,目标是SdkVersion =“7”。
如何写入SD卡?
示例代码如下:
<uses-premission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
.
.
.
checkSDStatus();
.
.
.
File sdCardRoot = Environment.getExternalStorageDirectory();
// Check state of SD card
String sdState = Environment.getExternalStorageState();
Log.d("--- state ---", sdState);
File dir = new File (sdCardRoot.getAbsolutePath() + "/download");
dir.mkdirs();
File file = new File(dir, fileName);
.
.
.
private void checkSDStatus(){
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
mExternalStorageAvailable = mExternalStorageWriteable = true;
Log.d("-- sd card --", "-- card writable --");
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
Log.d("-- sd card --", "-- card read only --");
} else {
mExternalStorageAvailable = mExternalStorageWriteable = false;
Log.d("-- sd card --", "-- card unvailable --");
}
}
答案 0 :(得分:0)
好的,我会回答别人的问题。
之前我多次添加到我的清单文件后没有任何损失,所以我复制了它的另一个版本并将其添加到现有权限下面的清单中。
权限看起来与眼睛完全相同,但我删除了旧版权限并使用了我复制过的新内容。
我重新启动了应用程序,它确实有效!也许磁盘上有一个错误,清单文件由于某种原因没有被读取,或者其他什么 - 至少它现在有效!
如果有人知道为什么我肯定想听听这个问题的原因!