Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android根據電話號碼獲得聯系人頭像實例代碼

Android根據電話號碼獲得聯系人頭像實例代碼

編輯:Android開發實例

在日常Android手機的使用過程中,根據電話號碼獲得聯系人頭像,是經常會碰到的問題。本文即以實例形式講述了Android根據電話號碼獲得聯系人頭像是實現代碼。分享給大家供大家參考之用。具體方法如下:

首先,通過ContentProvider,可以訪問Android中的聯系人等數據。常用的Uri有:

聯系人信息Uri:content://com.android.contacts/contacts
聯系人電話Uri:content://com.android.contacts/data/phones
聯系人郵件Uri:content://com.android.contacts/data/emails

並且提供了根據電話號碼獲取data表數據的功能,方法為:data/phones/filter/號碼,返回一個數據集。再通過數據集獲得該聯系人的contact_id,根據contact_id打開頭像圖片的InputStream,最後用BitmapFactory.decodeStream()獲得聯系人的頭像。

具體功能代碼如下:

// 根據號碼獲得聯系人頭像
public static void get_people_image(String x_number){  
 
  // 獲得Uri
  Uri uriNumber2Contacts = Uri.parse("content://com.android.contacts/"
      + "data/phones/filter/" + x_number); 
  // 查詢Uri,返回數據集
  Cursor cursorCantacts = context.getContentResolver().query(
      uriNumber2Contacts, 
      null, 
      null,            
      null, 
      null);
  // 如果該聯系人存在
  if (cursorCantacts.getCount() > 0) { 
    // 移動到第一條數據
          cursorCantacts.moveToFirst();
          // 獲得該聯系人的contact_id
           Long contactID = cursorCantacts.getLong(cursorCantacts.getColumnIndex("contact_id"));
          // 獲得contact_id的Uri
           Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactID);
          // 打開頭像圖片的InputStream
          InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(context.getContentResolver(), uri); 
          // 從InputStream獲得bitmap
          bmp_head = BitmapFactory.decodeStream(input);   
}<br>}

希望本文所述對大家的Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved