为什么我得到“文件的父目录不可写?”

时间:2011-11-22 22:22:10

标签: android permissions directory

我查看了很多帖子,但仍然没有答案。添加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 --");
        }
    }

1 个答案:

答案 0 :(得分:0)

好的,我会回答别人的问题。

之前我多次添加到我的清单文件后没有任何损失,所以我复制了它的另一个版本并将其添加到现有权限下面的清单中。

权限看起来与眼睛完全相同,但我删除了旧版权限并使用了我复制过的新内容。

我重新启动了应用程序,它确实有效!也许磁盘上有一个错误,清单文件由于某种原因没有被读取,或者其他什么 - 至少它现在有效!

如果有人知道为什么我肯定想听听这个问题的原因!