【发布时间】:2011-03-28 22:48:25
【问题描述】:
我正在尝试将一些参数从默认的 Content Provider MediaStore.Audio 加载到 Cursor 中,但是在调试代码时它仅在 managedQuery 中停止运行。该方法不会比 managedQuery 运行得更远。这是带有查询的代码:
Uri exAudioUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String[] projection = new String[] {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media._COUNT,
};
Cursor cExAudio = managedQuery(exAudioUri, projection, null, null, MediaStore.Audio.Media.DISPLAY_NAME + " DESC");
我在文档中读到此方法已弃用且不应使用,但它是我使用的 API 级别的唯一选择。
【问题讨论】:
-
请您确认是否返回 managedQuery 是否返回 null。
-
刚刚检查,在调试期间managedQuery返回以下异常:android.database.sqlite.SQLiteException:没有这样的列:_count:,编译时:SELECT _id,_display_name,_data,_count FROM audio ORDER BY _display_name DESC
标签: java android cursor android-contentprovider