小米手机 获取本地视频 选择后cursor 为空的,其他手机可以 ,选择拍摄后获取到的cursor 又不为空
以下代码是在onActivityResult 里面的
选择本地视频代码 如下
Uri uri = data.getData();
String[] proj = {MediaStore.Video.Media.DATA, MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE};
Cursor cursor = context.getContentResolver().query(uri, proj, null, null, null);
Log.e(“data”, “–>” + data);
Log.e(“uri”, “–>” + uri);
Log.e(“cursor”, “–>” + cursor);
打印信息如下
data: –>Intent { dat=file:///storage/emulated/0/DCIM/Camera/VID_20160615_141551.3gp }
uri: –>file:///storage/emulated/0/DCIM/Camera/VID_20160615_141551.3gp
cursor: –>null
选择拍摄视频代码如下
Uri uri = data.getData();
String[] proj = {MediaStore.Video.Media.DATA, MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE};
Cursor cursor = managedQuery(uri, proj, null, null, null);
Log.e(“data”, “–>” + data);
Log.e(“uri”, “–>” + uri);
Log.e(“cursor”, “–>” + cursor);
打印信息如下
data: –>Intent { dat=content://media/external/video/media/53458 }
uri: –>content://media/external/video/media/53458
cursor: –>android.content.ContentResolver$CursorWrapperInner@4b44cbe
只有小米 手机出现这种,其他的手机测了几个都没有 有什么解决方法吗
以下代码是在onActivityResult 里面的
选择本地视频代码 如下
Uri uri = data.getData();
String[] proj = {MediaStore.Video.Media.DATA, MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE};
Cursor cursor = context.getContentResolver().query(uri, proj, null, null, null);
Log.e(“data”, “–>” + data);
Log.e(“uri”, “–>” + uri);
Log.e(“cursor”, “–>” + cursor);
打印信息如下
data: –>Intent { dat=file:///storage/emulated/0/DCIM/Camera/VID_20160615_141551.3gp }
uri: –>file:///storage/emulated/0/DCIM/Camera/VID_20160615_141551.3gp
cursor: –>null
选择拍摄视频代码如下
Uri uri = data.getData();
String[] proj = {MediaStore.Video.Media.DATA, MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE};
Cursor cursor = managedQuery(uri, proj, null, null, null);
Log.e(“data”, “–>” + data);
Log.e(“uri”, “–>” + uri);
Log.e(“cursor”, “–>” + cursor);
打印信息如下
data: –>Intent { dat=content://media/external/video/media/53458 }
uri: –>content://media/external/video/media/53458
cursor: –>android.content.ContentResolver$CursorWrapperInner@4b44cbe
只有小米 手机出现这种,其他的手机测了几个都没有 有什么解决方法吗
解决方案
60
获取的数据已经是file:///格式的文件路径了,怎么还去查询呢,直接用就行了,只有content://开头的数据才能使用query查询。
20
小米这种垃圾系统 系统一大堆的 原因是它本人修改了系统 导致很多通用软件在上面不能很好的运行的。