我是华为mate8的手机,系统6.0,但是我做播放器的时候要查询到手机本地里面的视频,可我发现我的代码没有错误,但是我的视频查了好久还是没有查出来,所以在这上面也话费了不少的时间,我也查询了一些资料。最终得到一个结果。代码如下:
handler.startQuery(0,mAdapter,MediaStore.Video.Media.EXTERNAL_CONTENT_URI, new String[]{ MediaStore.Video.Media._ID, MediaStore.Video.Media.DATA, MediaStore.Video.Media.TITLE, MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE, MediaStore.Video.Media.MINI_THUMB_MAGIC, }, null, null, null);
ContentResolver resolver = getContext().getContentResolver(); AsyncQueryHandler handler = new AsyncQueryHandler(resolver) { @Override protected void onQueryComplete(int token, Object cookie, Cursor cursor) { // CursorUtil.cursorLog(cursor); //设置cursor ((VideoListAdapter)cookie).changeCursor(cursor); //刷新 // ((VideoListAdapter)cookie).notifyDataSetChanged(); ((VideoListAdapter)cookie).swapCursor(cursor); if (((VideoListAdapter) cookie).isEmpty()){ mBackground.setBackgroundResource(R.drawable.empty); } } };就是写完这些代码我发现并没有什么卵用啊 。所以最后又在其他的手机上对这个进行测试,没想到真的是我的手机6.0系统的问题,可能是权限的问题吧。不过最后还是把问题解决了。解决的办法很简单 。代码如下:
只需要把build.gradle下的权限等级修改一下就好:修改为22
targetSdkVersion 22
最后提醒广大朋友,6.0系统的手机好多问题,我也希望大家多交流,共同学习,共共同进步!!!