我正在尝试使用 Google Nexus 7 平板电脑上的应用程序创建一个带有 mkdir() 的文件夹。之后,我将图像保存在该文件夹中。
相关代码为:
// Create the storage directory if it does not exist
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdir()) {
Log.d(TAG, "Oops! Failed create "
+ Config.IMAGE_DIRECTORY_NAME + " directory");
return null;
}
}
日志显示:“糟糕!创建 userImages 失败”。
到目前为止我已经尝试过:
在装有 Android 4.1.2 的三星 Galaxy S3 mini 上测试该应用程序,它工作正常。(-> 它似乎是特定于设备的)
将权限添加
< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
到 AndroidManifest.xml使用 mkdirs() 而不是 mkdir()
功能
//Check SD card state String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state) || !Environment.MEDIA_MOUNTED.equals(state)) { Log.e(TAG, "Error: external storage is read only or unavailable"); } else { Log.d(TAG, "External storage is not read only or unavailable"); }
给出“外部存储不是只读的或不可用的”。
我的代码:
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.hbksaar.bubbles">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
有谁知道,为什么我无法创建该文件夹?