2011-11-22 81 views
0

我已阅读了很多帖子,但仍然没有答案。在添加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

好吧,我会回答我的问题等。

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

的权限出现相同的眼睛,但我删除了旧的和使用我英寸

复制新我重新运行的应用程序和它的工作!也许在磁盘上有一个错误,清单文件由于某种原因没有被读取,或者什么 - 至少现在起作用了!

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

相关问题