Android,来自URI的图片

时间:2015-12-04 15:27:02

标签: android uri android-image

我想根据我从联系人列表中选择的联系人照片为ImageView设置图像。在开始一个适当的意图后,在OnActivityResult中我调用setImageURI()方法如下:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode==SHOW_CONTACTS_REQUEST_CODE){
            if(resultCode==RESULT_OK){
                Log.d("Selection",data.toString());
                contactImage.setImageURI(getImageUri(data.getData()));
            }
        }
    }

以下是getImageUri()方法:

private Uri getImageURI(Uri uri) {
        Uri uriToPhoto=null;
        ContentResolver contentResolver = getContentResolver();
        Cursor cursor= contentResolver.query(uri, new String[]{ContactsContract.Contacts.PHOTO_URI}, null, null, null);
        if(cursor.moveToFirst()){
            uriToPhoto = Uri.parse(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.PHOTO_URI)));
        }
        cursor.close();
        return uriToPhoto;
    }

此方法生成Uri,如下所示: enter image description here

问题是照片没有设置。 我尝试过一些技巧,以前调用方法调用settingImageURI或调用方法后使contactImage无效,但是它不会起作用。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这个问题的答案并不是那么简单。实际上,代码没有任何问题。它从API 23切换到API 21并更改我的上一个模拟器后开始工作。

然后我想它一定是Marshmallow中那些新权限的东西。