我是靠谱客的博主 沉静仙人掌,最近开发中收集的这篇文章主要介绍Android---相册getContentResolver().query结果为空指针(因为android版本引起),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
针对公司14年代码在小米6手机上图片选择不上,原来因为android版本升级,uri形式变化所致
测试如下代码:
- Uri uri = data.getData();
- String[] proj = {MediaStore.Images.Media.DATA};
- //Cursor cursor = managedQuery(uri, proj, null, null, null);
- Cursor cursor = getContentResolver().query(uri, proj, null, null, null);
- cursor.moveToFirst();
- int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
- String picturePath = cursor.getString(columnIndex);
- cursor.close();
- mImgPath = picturePath;
cursor的结果为null,其他手机没有问题,网上查找原因,得到如下结论:
对于Android 4.4版本及以后,uri的形式发生了变化,此时如果要获取图像的路径,可以按照如下实现:
- Uri selectedImage = data.getData();
- String[] filePathColumn = { MediaStore.Images.Media.DATA };
- Cursor cursor = getContentResolver().query(selectedImage,
- filePathColumn, null, null, null);
- if(cursor!=null)
- {
- cursor.moveToFirst();
- int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
- String picturePath = cursor.getString(columnIndex);
- cursor.close();
- mImgPath = picturePath;
- }
- else
- {
- mImgPath = selectedImage.getPath();
- }
在此做一记录!
最后
以上就是沉静仙人掌为你收集整理的Android---相册getContentResolver().query结果为空指针(因为android版本引起)的全部内容,希望文章能够帮你解决Android---相册getContentResolver().query结果为空指针(因为android版本引起)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复