无法在extsd卡中创建文件夹

时间:2012-07-22 21:47:11

标签: android permissions directory sd-card

我有一个安卓平板电脑,外部SD卡名为“/ mnt / extsd”,其内部存储名为“/ mnt / sdcard”。

当我尝试通过以下代码在“/ mnt / sdcard”中创建文件夹时。应用程序成功在根目录中创建文件夹,而我尝试在“/ mnt / extsd”中创建文件夹,它烘烤异常“打开失败:EACCESS(权限被拒绝)”

    // create a File object for the parent directory
    File root_directory = new File("/mnt/extsd/abc/");
    // have the object build the directory structure, if needed.
    root_directory.mkdirs();
    // create a File object for the output file
    File outputFile = new File(root_directory, "abc_checking");
    // now attach the OutputStream to the file object, instead of a String representation
    try {
        FileOutputStream fos = new FileOutputStream(outputFile);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        Utility.showDialogue(getActivity(), e.getMessage() + "");
    }

清单

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

你们的任何帮助都会非常明显。请帮助...... :(

1 个答案:

答案 0 :(得分:2)

如果Environment.getExternalStorageDirectory()返回/mnt/sdcard/,那么您应该在应用程序中使用外部存储。虽然您的设备可能有其他挂载点(例如/mnt/extsd/),但这些挂载点不属于Android SDK,并且对您的特定设备或多或少都是唯一的。您需要与设备的制造商联系,询问他们是否可以使用常规SDK应用程序中的/mnt/extsd/

如果您具有root访问权限,则可以通过更改/mnt/extsd/的权限来解决此问题,但这不是一个编程主题,因此超出了StackOverflow的范围。