【问题标题】:Nexus 6 Environment.getExternalStorageDirectory() cannot create directory External storageNexus 6 Environment.getExternalStorageDirectory() 无法创建目录外部存储
【发布时间】:2016-07-06 22:38:11
【问题描述】:

我有一个 Nexus 6(Google Fi) 我有一个可以在在所有其他设备上运行我测试过的应用程序,但不能在这个设备上运行。尝试在此 GetExternalStorageDirectory() 下创建目录或文件不起作用;我也试过 mkdirs() 。我无法从我的 FileExplorer(在手机上)或我的 PC(W10)中看到 emulated/0 文件夹。是的,我确实拥有写入文件的清单权限。使用以下...

---Definition
public static String currentdirectory=Environment.getExternalStorageDirectory() + "/ADAK";
---Code snipplet
    sd = new File(G.currentdirectory);
    if (!sd.exists() && !sd.isDirectory()) {
        if (!sd.mkdir()) {
            G.WTL("Cannot create ADAK directory");
            G.WTS(this, "Cannot create ADAK directory");
            System.exit(0);
        }
    }

【问题讨论】:

  • 这个问题已经有了答案。我不知道如何引用另一个问题,但它在 33162152
  • 这个我不认为是重复的。我正在尝试自己在 nexus 6p 中创建一个公用文件夹,但可能的重复答案不起作用!
  • Wang'l,这是一个令人困惑的话题。您确实需要在 API 23(即 6p)中以不同方式处理这些权限,在代码中测试您的 API 级别,然后请求权限,小心这是一个异步请求;真的很痛苦,因为它破坏了您以前的代码。 Google 正在考虑为此提供同步请求,不知道是否会发生这种情况。但我不知道你的代码的细节。

标签: android mkdir nexus6


【解决方案1】:

使用 API 23 的 Android 6.0 Marshmallow 有一个新要求,每次应用启动时都必须请求权限。所有这些都被谷歌很好地记录了下来。 http://developer.android.com/training/permissions/requesting.html

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    相关资源
    最近更新 更多