Androidの通过查询电话号码或ID获取联系人头像

来源:互联网 发布:淘宝关键词排列顺序 编辑:程序博客网 时间:2024/05/18 13:24
Androidの通过查询电话号码或ID获取联系人头像
1.通过联系人手机号码查询获取头像
            // 取得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);



0 0
原创粉丝点击