关于小米note采用Intent.ACTION_GET_CONTENT选择相册问题

在选择相册时,使用Intent.ACTION_GET_CONTENT方式,而后在onActivityResult中经过getData()获得uri,再经过ContentResolver去获取Cursor对象,大部分机型都没有问题。可是在用小米note测试出现了选择了照片返回,能获取uri,可是在获取Cursor对象的时候获得的Cursor对象是null的问题。代码是这样的:测试

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);   
intent.setType("image/*");
startActivityForResult(intent, requestCode);

onActivityResult中是这样的:this

if (resultCode == RESULT_OK) {
    Uri uri = data.getData();
    ContentResolver cr = this.getContentResolver();
    Cursor c = cr.query(uri, null, null, null, null);
    if (c != null) {
        ...
     ...
    }
}

Cursor c = cr.query(uri, null, null, null, null);这里的时候获得的Cursor对象为空。(具体什么问题,目前还没搞清楚)spa

虽然没搞清楚缘由,可是问题仍是得解决。。。因而,换了一种Intent方式Intent.ACTION_PICK,问题解决。对象

代码以下:get

Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, requestCode);

虽然问题解决了,可是不知道是什么缘由,因此特此记录,等之后搞清楚了再更新。it


后面测试了一下,好像是写了 intent.setType("image/*"); 这句代码就会出现这个问题。request

相关文章
相关标签/搜索