首页 > Java > java教程 > 正文

如何修复 Android Marshmallow (6.0) 上的文件夹创建问题?

DDD
发布: 2024-10-24 03:48:02
原创
524 人浏览过

How to Fix Folder Creation Issues on Android Marshmallow (6.0)?

Marshmallow Android 文件夹创建问题

在 Android 6.0(Marshmallow)上创建文件夹时遇到问题?您来对地方了!

某些 Marshmallow 设备在创建新文件夹方面表现出不稳定性。虽然在 Android 5.0 上一切正常,但在 Marshmallow 上,有时会创建成功,有时则不会。这是为什么?

权限问题

Marshmallow 引入了对外部存储权限的更严格控制。对于 Android M 及更高版本,在使用外部存储之前需要获得用户的明确许可。如果您没有请求此权限,您的应用程序将无法创建目录。

解决方案

为了在 Marshmallow 上成功创建文件夹,您需要向用户请求 WRITE_EXTERNAL_STORAGE 权限。您可以使用以下代码实现它:

<code class="java">@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    if (CheckPermission(MyDevIDS.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
        // 拥有写入权限
        createApplicationFolder();
    } else {
        // 请求运行时权限
        RequestPermission(MyDevIDS.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_RUNTIME_PERMISSION);
    }
}</code>
登录后复制

CheckPermission 和 RequestPermission 是辅助方法,用于检查应用程序是否拥有 WRITE_EXTERNAL_STORAGE 权限并请求该权限,如果它尚未授予。

<code class="java">public static void createApplicationFolder() {
    File f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME);
    f.mkdirs();
    ...
}</code>
登录后复制

通过这些更改,您的应用程序将能够在 Marshmallow 及更高版本上可靠地创建文件夹。

以上是如何修复 Android Marshmallow (6.0) 上的文件夹创建问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!