[求助]用ContentResolver取不到MediaStore里的内容

CuGBabyBeaR 2012-06-28 10:30:38

代码如下:
ContentResolver cr =this.getContentResolver();                
                Cursor tempCur = cr.query(
                                MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                                /*new String[]{
                                                MediaStore.Audio.Media._ID, //int
                                                MediaStore.Audio.Media.DATA, //String
                                                MediaStore.Audio.Media.DISPLAY_NAME, //String
                                                MediaStore.Audio.Media.MIME_TYPE //String
                                        }*/
                                null,//无论取null还是上边的数组都是一样的
                                null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER); //order取null也是一样的
                 
                 
                if(tempCur!=null){
                        if(D)Log.d(TAG,"Cursor.getCount in Audio"+tempCur.getCount());
                }else{
                        if(D)Log.d(TAG,"Cursor.getCount in Audio is NULL");
                }


manifest 权限 :

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


在我自己的手机上调试 moto defy+ (因为虚拟机里木有多媒体文件...懒得弄...)
手机里有一堆歌...

catlog:
06-27 23:29:38.139: D/Puzzle_Config(16872): Cursor.getCount in Audio is NULL


肿么破...
...全文
295 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoba555 2013-05-18
  • 打赏
  • 举报
回复
例如 MediaStore.Audio.Media.DATA= “data” MediaStore.Audio.Media.DISPLAY_NAME=“displayName” MediaStore.Audio.Media.MIME_TYPE=“mimeType” /*new String[]{ …… 额...不是这里的问题...我发现是我犯了个相当2的错误=.= 不过还是谢谢了 ,也范啦这个问题,不知道怎么解决,你是怎么弄的
CuGBabyBeaR 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

例如
MediaStore.Audio.Media.DATA= “data”
MediaStore.Audio.Media.DISPLAY_NAME=“displayName”
MediaStore.Audio.Media.MIME_TYPE=“mimeType”

/*new String[]{
……
[/Quote]额...不是这里的问题...我发现是我犯了个相当2的错误=.= 不过还是谢谢了
CuGBabyBeaR 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

是不是URI不对呢?
[/Quote]

06-28 12:00:57.171: D/Puzzle_Config(18959): URI : content://media/external/audio/media
CuGBabyBeaR 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

是不是URI不对呢?
[/Quote]URI是MediaStore类里提供的静态变量 应该是错不了=.=
CuGBabyBeaR 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你截取log不全~ 打印cr和tempCur是否为null
[/Quote]


if(cr!=null){
if(D)Log.d(TAG,"ContentResolver is "+cr.toString());
}else{
if(D)Log.d(TAG,"ContentResolver is NULL");
}


if(tempCur!=null){
if(D)Log.d(TAG,"Cursor.getCount in Audio"+tempCur.getCount());
}else{
if(D)Log.d(TAG,"Cursor in Audio is NULL");
}





06-28 11:26:28.030: D/Puzzle_Config(18425): ContentResolver is android.app.ContextImpl$ApplicationContentResolver@40501910
06-28 11:26:28.030: D/Puzzle_Config(18425): Cursor in Audio is NULL


cr不是NULL
tempCur是NULL
csdn_2013 2012-06-28
  • 打赏
  • 举报
回复
你截取log不全~ 打印cr和tempCur是否为null
嗨皮 2012-06-28
  • 打赏
  • 举报
回复
是不是URI不对呢?
csdn_2013 2012-06-28
  • 打赏
  • 举报
回复
例如
MediaStore.Audio.Media.DATA= “data”
MediaStore.Audio.Media.DISPLAY_NAME=“displayName”
MediaStore.Audio.Media.MIME_TYPE=“mimeType”

/*new String[]{
MediaStore.Audio.Media._ID, //int
MediaStore.Audio.Media.DATA, //String
MediaStore.Audio.Media.DISPLAY_NAME, //String
MediaStore.Audio.Media.MIME_TYPE //String
}*/

修改成new String[]{
"_id","data,"displayName","mimeType"
}

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧