【问题标题】:Unable to create a folder programatically无法以编程方式创建文件夹
【发布时间】:2015-10-30 08:07:18
【问题描述】:

下面是我正在使用的代码

String root = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
File filepathname = new File(root+"/newfolder");
if(filepathname.mkdir())
    Toast.makeText(this,"directory created", Toast.LENGTH_SHORT).show();
else
    Toast.makeText(this,"directory not created", Toast.LENGTH_SHORT).show();

我在 Moto E(运行 Lollipop)和 Nexus 5(运行 Marshmallow)中尝试了这段代码。文件夹是在 Moto 中创建的,但不是在 Nexus 5 中创建的。

在升级到 Marshmallow 之前,我已经能够在 Nexus 5 中创建文件夹。

这是 android M 中的一个已知问题吗?有解决办法吗?或者任何人都可以发现代码中的任何问题。

注意事项:

  1. 上述代码在我的启动器活动的onCreate()中,

  2. 清单文件中也有以下权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
  3. “newfolder”不存在。

【问题讨论】:

  • @IntelliJAmiya:这是棉花糖的问题。您的链接在此处无效。

标签: android android-6.0-marshmallow android-file


【解决方案1】:

在我看来,您无权创建文件夹。如果您的应用程序目标是 23 或以上,您必须阅读有关新运行时权限的信息。

Here你可以找到官方文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2011-12-29
    • 2016-05-15
    相关资源
    最近更新 更多