0

我正在尝试搜索 MediaStore,但到目前为止我没有运气。

这是我当前的代码的样子:

    Cursor cursor = this.managedQuery(uri, 
                    null, 
                    MediaStore.Audio.Media.TITLE + "=?", 
                    new String[]{songToPlay}, 
                    MediaStore.Audio.Media.TITLE + " ASC"); 

            if(cursor.moveToFirst()){
                do{  String path = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
                long id = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID));

                 test.setText(path);
                }
            while (cursor.moveToNext());

            }

songToPlay、uri 都设置正确。

if 语句永远不会执行。

什么可能导致这种情况?

4

1 回答 1

0

这可能意味着光标为空。试一试cursor.getCount(),并仔细检查您的查询是否正确。您确定媒体商店已填充吗?你有权限访问它吗?

顺便说一句,您似乎正在构建搜索功能。如果这是真的,请务必使用 LIKE 运算符,或者更好的是,使用全文搜索

于 2013-07-31T15:24:02.693 回答