创建外部目录 android
make external directory android
如果在 android 应用程序的外部存储中创建目录,我使用此代码:
File mDirectory = new File(Environment.getExternalStorageDirectory() + "/myDir");
if (!mDirectory.exists()) {
mDirectory.mkdirs();
if (!mDirectory.mkdirs()) {
Log.e("App", "failed to create directory");
}
}
但是目录没有创建,错误消息一直显示在 logcat
:
App: failed to create directory
我也同时使用mkdir()
和mkdirs()
,但结果是一样的。哪里错了?
更新:
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
您正在呼叫 mkdirs
两次。第一次调用创建目录。第二次调用returns false,因为目录已经存在
你 运行 这个应用程序是什么 Android 版本? Android Developer Website 中的这句话说
If the device is running Android 6.0 (API level 23) or higher, and the app's targetSdkVersion is 23 or higher, the app requests permissions from the user at run-time. The user can revoke the permissions at any time, so the app needs to check whether it has the permissions every time it runs.
If the device is running Android 5.1 (API level 22) or lower, or the app's targetSdkVersion is 22 or lower, the system asks the user to grant the permissions when the user installs the app.
现在有了Dangerous permissions的概念。这是用户需要在运行时授予的权限,WRITE_EXTERNAL_STORAGE
是其中之一
Android 开发网站上的这个 tutorial 将教您如何在运行时请求权限
如果在 android 应用程序的外部存储中创建目录,我使用此代码:
File mDirectory = new File(Environment.getExternalStorageDirectory() + "/myDir");
if (!mDirectory.exists()) {
mDirectory.mkdirs();
if (!mDirectory.mkdirs()) {
Log.e("App", "failed to create directory");
}
}
但是目录没有创建,错误消息一直显示在 logcat
:
App: failed to create directory
我也同时使用mkdir()
和mkdirs()
,但结果是一样的。哪里错了?
更新:
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
您正在呼叫 mkdirs
两次。第一次调用创建目录。第二次调用returns false,因为目录已经存在
你 运行 这个应用程序是什么 Android 版本? Android Developer Website 中的这句话说
If the device is running Android 6.0 (API level 23) or higher, and the app's targetSdkVersion is 23 or higher, the app requests permissions from the user at run-time. The user can revoke the permissions at any time, so the app needs to check whether it has the permissions every time it runs.
If the device is running Android 5.1 (API level 22) or lower, or the app's targetSdkVersion is 22 or lower, the system asks the user to grant the permissions when the user installs the app.
现在有了Dangerous permissions的概念。这是用户需要在运行时授予的权限,WRITE_EXTERNAL_STORAGE
是其中之一
Android 开发网站上的这个 tutorial 将教您如何在运行时请求权限