Androidの通过查询电话号码或ID获取联系人头像
16lz
2021-01-23
Androidの通过查询电话号码或ID获取联系人头像 1.通过联系人手机号码查询获取头像
2. 通过联系人数据库ID 获取对应头像
// 取得Intent中的頭像 ivShowImage = (ImageView) findViewById(R.id.call_log_detail_contact_img); //通话电话号码获取头像uri Uri uriNumber2Contacts = Uri .parse("content://com.android.contacts/" + "data/phones/filter/" + strPhoneNumber); Cursor cursorCantacts = SApplication.nowSApplication .getContentResolver().query(uriNumber2Contacts, null, null, null, null); if (cursorCantacts.getCount() > 0) { //若游标不为0则说明有头像,游标指向第一条记录 cursorCantacts.moveToFirst(); Long contactID = cursorCantacts.getLong(cursorCantacts .getColumnIndex("contact_id")); Uri uri = ContentUris.withAppendedId( ContactsContract.Contacts.CONTENT_URI, contactID); InputStream input = ContactsContract.Contacts .openContactPhotoInputStream( SApplication.nowSApplication .getContentResolver(), uri); btContactImage = BitmapFactory.decodeStream(input); Log.i("info", "bt======" + btContactImage); ivShowImage.setImageBitmap(btContactImage); } else {//么有头像设置默认头像 ivShowImage .setImageResource(R.drawable.call_log_contact_image2); }
2. 通过联系人数据库ID 获取对应头像
ContentResolver cr = getContentResolver();Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,“这里是联系人ID噢”);InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);Bitmap photo = BitmapFactory.decodeStream(input);viewHolder.item_img.setImageBitmap(photo);
更多相关文章
- 转到编辑联系人的系统界面 编辑 添加
- android 圆形头像—— android开源系列:CircleImageView自定义圆
- Android 获得联系人信息
- android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩
- Android向通讯录添加联系人的一般方法
- Android软件开发之获取通讯录联系人信息 + android联系人信息的
- Android中删除常用联系人(下)
- Android 离线用户的灰色头像处理
- android打开系统联系人界面