我正在尝试搜索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语句。
是什么导致这种情况?
答案 0 :(得分:0)
这可能意味着the cursor is empty。试用cursor.getCount()
,然后仔细检查您的查询是否正确。您确定媒体商店已填充吗?你有权访问它吗?
顺便说一下,您似乎正在构建搜索功能。如果是这样,请确保使用LIKE运算符,或者更好的是use full text search。