ContentResolver找不到所有音乐

时间:2015-09-14 07:19:16

标签: android-contentresolver

我有这样的麻烦。 ContentResolver在我的魅族MX3上没有看到几个mp3。我用它如下:

    ContentResolver mResolver;
    ...
    String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";

    Cursor cur = mResolver.query(
            MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
            null,
            selection,
            null,
            null);

    if (!cur.moveToFirst()) {
        Log.e(TAG, "Failed to move cursor to first row (no query results).");
        return;
    }

之后光标不包含手机上的所有音乐。例如,虽然它们有mp3格式,但它看不到我的dictophone记录。记录的目录/ sdcard / Recorder中没有文件.nomedia。如果我在这个目录中放置一些mp3并扫描媒体更改,ContentResolver会找到这个mp3,但只有这个,所以记录对它来说是不可见的。

有人可以解释一下为什么ContentResolver的行为如此奇怪吗?

1 个答案:

答案 0 :(得分:1)

boruno!
我有类似的问题,我想我终于找到了解决方案 我在我的应用程序中使用了光标,并尝试将数据源设置为MediaMetaRetriever,如下所示:

mmr.setDataSource(path);

因此,当光标无法设置数据源时,它会产生一个例外:

E/cursor: setDataSource failed: status = 0xFFFFFFEA

之后,光标自行停止 我刚刚使用了try-catch块并获取了所有音乐文件 希望它有所帮助。