Android11-File.listFiles()没有返回一些扩展名文件。
创始人
2024-08-20 09:30:29
0

在Android 11中,由于隐私限制的修改,File.listFiles()函数可能无法返回所有文件。解决此问题的最佳方法是使用新的媒体访问框架(MediaStore)来获取指定扩展名的所有文件。以下是代码示例:

private List getFilesWithExtension(String extension) {
    List files = new ArrayList<>();
    ContentResolver resolver = getContentResolver();
    Uri uri = MediaStore.Files.getContentUri("external");
    String[] projection = {MediaStore.Files.FileColumns.DATA};
    String selection = MediaStore.Files.FileColumns.DISPLAY_NAME + " LIKE ? AND " + MediaStore.Files.FileColumns.MEDIA_TYPE + " = ?";
    String[] selectionArgs = new String[]{"%" + extension, String.valueOf(MediaStore.Files.FileColumns.MEDIA_TYPE_NONE)};
    String sortOrder = null;
    Cursor cursor = resolver.query(uri, projection, selection, selectionArgs, sortOrder);

    if (cursor != null) {
        int dataColumnIndex = cursor.getColumnIndex(MediaStore.Files.FileColumns.DATA);
        while (cursor.moveToNext()) {
            String filePath = cursor.getString(dataColumnIndex);
            files.add(new File(filePath));
        }
        cursor.close();
    }

    return files;
}

上述代码中,我们使用MediaStore.Files.getContentUri("external")来获取存储在外部存储的媒体文件的URI。我们使用MediaStore.Files.FileColumns.DISPLAY_NAME和MediaStore.Files.FileColumns.MEDIA_TYPE来创建选择条件,以获取指定扩展名的所有文件,同时排除媒体文件。最后,我们使用ContentResolver来查询数据库并获取File对象列表。

相关内容

热门资讯

辅助透视!德普之星透视辅助软件... 辅助透视!德普之星透视辅助软件激活码,德扑圈透视(透视)真是是真的挂(详细教程)-哔哩哔哩1、德普之...
截至发稿!途游辅助,wepok... 截至发稿!途游辅助,wepoker免费脚本咨询,方式教程(今日头条)-哔哩哔哩wepoker免费脚本...
透视肯定!德普之星怎么开辅助,... 透视肯定!德普之星怎么开辅助,德普之星透视免费(透视)确实真的有挂(有挂方针)-哔哩哔哩1、透视肯定...
记者获悉!科乐辅助工作室,微乐... 记者获悉!科乐辅助工作室,微乐透视辅助功能插件下载,资料教程(有挂教学)-哔哩哔哩1、微乐透视辅助功...
透视透视挂!德普之星透视辅助软... 透视透视挂!德普之星透视辅助软件是真的吗,德普之星透视辅助软件下载(透视)其实真的有挂(有挂功能)-...
据统计!来玩app 德州 辅助... 据统计!来玩app 德州 辅助,新畅游互娱辅助app,妙招教程(有挂方法)-哔哩哔哩1、超多福利:超...
透视科技!德普之星辅助工具如何... 透视科技!德普之星辅助工具如何设置,德普之星透视软件免费入口官网(透视)切实存在有挂(有挂头条)-哔...
今年以来!hardrock辅助... 今年以来!hardrock辅助,wepoker私人辅助器,指南教程(有挂功能)-哔哩哔哩1、该软件可...
透视辅助!德普之星透视辅助插件... 透视辅助!德普之星透视辅助插件,德扑圈透视挂(透视)真是是有挂(真的有挂)-哔哩哔哩1、德普之星透视...
近日!浙江游戏大厅自建房间,佛... 近日!浙江游戏大厅自建房间,佛手大菠萝辅助,要领教程(有挂助手)-哔哩哔哩1、每一步都需要思考,不同...