2 zp19910219 zp19910219 于 2016.04.01 10:53 提问

Android 从媒体库取出图片发送的问题 5C

先上代码
Intent picture = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(picture, IMAGE);

然后在onActivityResult方法中
if (requestCode == IMAGE && resultCode == Activity.RESULT_OK && null != data) {//媒体库返回
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};

        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        picturePath = cursor.getString(columnIndex);
        cursor.close();
                    }

现在有一个问题,我在一台三星手机上发送图片是可以实现的,cursor对象不为null
但现在换了一台小米手机,取图片的时候就报错了,cursor为null。

报错信息就是到 cursor.moveToFirst();报空指针异常

4个回答

QCkiss
QCkiss   2016.04.01 14:38

国内的大多数厂商都改了,他已经不是原来的那个他,你怎么还这么痴情?

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.04.01 13:03

别用Android系统自带的读取相册图片的系统activity,自己写

zanfeng
zanfeng   2016.04.02 00:29

判断一下是不是空不就可以了。

zp19910219
zp19910219   2016.04.04 22:33

请问该怎么写啊,菜鸟一个

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android 媒体库图片,音频,视频,文件的查询
项目开发中我们要使用到本地SD卡中的媒体文件,例如图片,音频,视频,压缩文件等,ContentResolver 可以很方便的帮助我们查询所有信息。
Android删除手机本地图片并同步到本地图片媒体库
在开发自定义图片查看中有一个功能是删除本地图片。同时图片查看中有一个功能是收藏图片,收藏的图片存入了自己写的一个图片收藏的表里了。页面如下: 要删除图片,要分两种情况,一种是该图片是收藏的图片,一种是不是。如果不是收藏的图片,则只需直接删除文件,同时通知系统更新本地图片媒体库。如果是收藏的图片,除了上述操作,还需要删除在收藏图片的表中对应的图片。 private void delete
android 图片添加时更新媒体库的方法
图片保存到sd卡以后,更新到媒体库的方法: ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.DATA, filePath); values.put(MediaStore.Images.Media.DISPLAY_NAME, fileName); mContext.getConte
android从本地媒体库获取图片上传至服务器保存
最近在做个小项目,想像微博那样可以修改自己的头像,于是乎,需要从本地媒体库中选择头像,显示在imageView中,并且上传到服务器进行保存,以便下次登录自动加载头像。废话不多说,以下是我参考了各种百度和google后结合自己的想法写出来的。 第一步:从媒体库中选择图片,这个代码形式比较固定,其核心的代码是: /*** * 这个是调用android内置的
获取Android媒体库中的音乐文件
获取Android媒体库中的音乐文件           差不多结束了考试周(还剩一门英语听力),坐下来静静的看代码是一件多么令人感到愉悦的事情。随心所欲,在代码的世界里尽情的遨游。          想到之前写过的一个音乐播放器还没与完善,于是就想着把代码给优化一下。因为之前写音乐播放器急于求成,加上当时对SQLite数据库很陌生,在进行音乐加载时采用的是用递归对SD卡进行全部扫描的笨力搜索
Android 删除文件夹中的图片并同步到媒体库
问题:项目中用到了上传图片,上传之前压缩的时候图片缓存到了本地的一个文件夹中,清除缓存的时候操作是吧缓存的文件夹直接执行delete()操作。但是在去图片框架中选择图片的时候,删除的文件夹还在,里面的图片无法查看。 造成问题的原因就是缓存文件夹中的文件删除后安卓媒体数据库并不能实时刷新,我们需要手动让系统去更新数据库中的数据. 通知系统文件改变了数据库也要刷新.安卓4.4之前可以直接发一个广播Int
Android保存图片到图库,Android扫描文件到媒体库,Android保存图片到SD卡
我们最常常遇到的也就是保存图片到SD卡,然后打开系统的图库可以看得到,可是为什么微信QQ之类的应用可以,我们保存到SD卡就看不到呢?原因就是保存到SD卡后我们还要让系统扫描图片到多媒体库,因为系统的图库读的其实是一个多媒体库的数据库,所以我们保存之后如果没有通知系统扫描的画是看不到的 这里要声明一点,后边的扫描要用到获取文件的Mimetype,不知道怎么获取的人看这里:http://blog.c
Android保存图片到图库,扫描文件到媒体库,保存图片到SD卡,可用于下载图片
下载图片,方便用于查找 /** * 保存图片到SD卡 * @author kl * @param isInsertGallery 是否保存到图库 * @return */ private String saveImg(Bitmap bitmap, boolean isInsertGallery){ File myappDir = new File(Envir
Android媒体库更新问题
1.媒体库何时更新?在系统开机或sdcard卡被加载时,系统会自动扫描sdcard,将扫描到的如音频、图片等媒体文件保存到媒体数据库中,通过Android提供的相应的ContentProvider,我们可以获取这些媒体资源;但如果我们在开机状态下,在sdcard内增加或删除一些媒体文件时,系统并不会自动扫描,因此媒体库不会更新(除非自行向媒体数据库中添加或删除) 2.如何让媒体库更新?2.1.增
Android搜索视媒体库视频 列表显示选择
public class MainActivity extends Activity {public static List data = null;// 视频信息集合Cursor cursor;Button Button1, Button2;String path;ImageView image;TextView namet;protected ImageLoader imageLoader;D