Android - 仅查询特定文件夹中的音频文件(不包括子文件夹)

标签 android android-sqlite android-contentprovider android-music-player

我正在尝试从特定文件夹上的外部内容 URI 查询音频文件列表。但子文件夹中的所有音频也包括在内。

如何仅获取特定文件夹中的音频并排除子文件夹。

这就是我试图做的。

 Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

    Cursor cursor = contentResolver.query(
            uri, projection,MediaStore.Audio.Media.DATA + " LIKE ? " , new String[]{"%/storage/emulated/0/Music/Tamil/%"} , null);

如果查询有误,请告诉我

我在 StackOverflow 上尝试了多个答案,但没有一个有效。

最佳答案

你应该能够这样做:

Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String folder = "/storage/emulated/0/Music/Tamil";
String selection = MediaStore.Audio.Media.DATA + " LIKE ? AND " + MediaStore.Audio.Media.DATA + " NOT LIKE ? ";
String[] selectionArgs = new String[]{
        "%" + folder + "%",
        "%" + folder + "/%/%"
};
Cursor cursor = contentResolver.query(uri, projection, selection, selectionArgs, null);

关于Android - 仅查询特定文件夹中的音频文件(不包括子文件夹),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428558/

相关文章:

android - 打开电子邮件附件时如何获取文件名和扩展名

android - 在 ListView 上创建可点击的项目

javascript - 使用来自已加载网页的 JavaScript 调用重新加载 WebView

java - 警报管理器未触发广播接收器

java - 无法执行操作,因为插入数据库时​​没有当前事务

java - 数据库中的数据如何在不同的 Activity 中分配给数组?

java - SQLite 连接和资源,良好实践

android - RushORM 存储 RequestParams

android - 无法从联系人中检索电子邮件

android - contentProvider 中的 SQLException