我想根据我从联系人列表中选择的联系人照片为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;
}
问题是照片没有设置。
我尝试过一些技巧,以前调用方法调用settingImageURI
或调用方法后使contactImage无效,但是它不会起作用。
任何帮助都将不胜感激。
答案 0 :(得分:0)
这个问题的答案并不是那么简单。实际上,代码没有任何问题。它从API 23切换到API 21并更改我的上一个模拟器后开始工作。
然后我想它一定是Marshmallow中那些新权限的东西。