Android Q: file.mkdirs()返回false
创始人
2024-08-15 02:30:08
0次

在Android Q中,由于存储权限的变化,使用file.mkdirs()方法创建文件夹时可能会返回false。以下是一个解决方案的示例代码:

private void createDirectory() {
    File directory = new File(Environment.getExternalStorageDirectory(), "MyDirectory");
    if (directory.exists()) {
        // 文件夹已存在
        return;
    }

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        // 在Android Q上使用MediaStore API创建文件夹
        ContentValues values = new ContentValues();
        values.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DCIM + "/MyDirectory");
        Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        if (uri != null) {
            // 文件夹创建成功
            return;
        }
    } else {
        // 在Android Q之前的版本使用file.mkdirs()方法创建文件夹
        if (directory.mkdirs()) {
            // 文件夹创建成功
            return;
        }
    }

    // 文件夹创建失败
}

在上面的示例代码中,首先检查文件夹是否已存在,如果存在则直接返回。然后根据Android版本的不同,选择不同的方法来创建文件夹。

在Android Q及以上版本,使用MediaStore API来创建文件夹。这里使用的是Environment.DIRECTORY_DCIM目录,你可以根据自己的需要更改目录名。如果文件夹创建成功,方法就会直接返回。

在Android Q之前的版本,继续使用file.mkdirs()方法来创建文件夹。如果文件夹创建成功,方法也会直接返回。

如果以上两种方法都没有成功创建文件夹,就意味着文件夹创建失败。你可以根据自己的需求来处理这种情况。

相关内容

热门资讯

发现玩家辅助!闲来玩游戏辅助A... 发现玩家辅助!闲来玩游戏辅助AI攻略,闲来玩游戏多功能真是存在有辅助攻略1、闲来玩游戏公共底牌简单,...
记者发布外挂!闲来玩游戏外挂A... 记者发布外挂!闲来玩游戏外挂AI攻略,闲来玩游戏多功能切实真的是有外挂攻略闲来玩游戏透视方法中分为三...
一分钟揭秘透视挂!萍乡打滚筒透... 一分钟揭秘透视挂!萍乡打滚筒透视挂AI攻略,萍乡打滚筒多功能确实存在有透视挂攻略1、用户打开应用后不...
查到实测辅助器!百川辅助器AI... 查到实测辅助器!百川辅助器AI方法,百川多功能都是有辅助器方法百川辅助器是一种具有地方特色的麻将游戏...
最新技巧辅助器!八戒贵宾室辅助... 最新技巧辅助器!八戒贵宾室辅助器AI软件,八戒贵宾室多功能切实存在有辅助器软件1、下载好八戒贵宾室透...
玩家科普外挂!心悦辽宁麻将外挂... 玩家科普外挂!心悦辽宁麻将外挂AIapp,心悦辽宁麻将多功能果然存在有外挂app1)心悦辽宁麻将辅助...
科技揭秘辅助器!即赢互动辅助器... 科技揭秘辅助器!即赢互动辅助器AI插件,即赢互动多功能本来真的是有辅助器插件亲,关键说明,即赢互动透...
我来向大家传授辅助!江山大厅辅... 我来向大家传授辅助!江山大厅辅助AI插件,江山大厅多功能确实真的是有辅助插件1、玩家可以在江山大厅透...
今日焦点外挂!小白大作战外挂A... 今日焦点外挂!小白大作战外挂AI工具,小白大作战多功能都是真的有外挂工具1、让任何用户在无需小白大作...
今日焦点开挂!起点大厅开挂AI... 今日焦点开挂!起点大厅开挂AI工具,起点大厅多功能竟然有开挂工具1.起点大厅 选牌创建新账号,点击进...