[英]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
。 第一次调用将创建目录。 第二个调用返回false,因为该目录已存在。
您在哪个Android版本上运行此应用程序? Android开发者网站上的这句话说
如果设备运行的是Android 6.0(API级别23)或更高版本 ,并且应用程序的targetSdkVersion为23或更高版本,则该应用程序会在运行时向用户请求权限。 用户可以随时撤消权限,因此应用程序每次运行时都需要检查其是否具有权限 。
如果设备运行的是Android 5.1(API级别22)或更低版本,或者应用程序的targetSdkVersion为22或更低版本,则系统会在用户安装应用程序时要求用户授予权限。
现在有一个危险权限的概念。 用户需要在运行时授予这些权限,而WRITE_EXTERNAL_STORAGE
是其中之一
Android Dev网站上的本教程将教您如何在运行时请求权限
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.