編輯:關於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程序設計有所幫助。
在講正題之前我們講一段有關任務傳遞的小故事,拋磚迎玉下: 話說一家軟件公司,來一個任務,分派給了開發經理去完成: 開發經理拿到,看了一下,感覺好簡單,於是 開發經理:分派
使用eclipse創建的android AVD模擬器,默認位置一般在用戶文件夾下的.android文件夾中,並且路徑不可有中文。而用戶文件夾一般都在系統盤,
Android權限對於開發者來說既是最好的朋友,也是最壞的敵人。即便是優秀且有信譽的應用開發人員和公司,也需要深度的Android權限以保證基礎 性的功能。
簡介類別:項目文檔生成器,生成靜態站點,管理MarkDown文檔。官方網址:http://www.mkdocs.org/中文文檔:http://markdown-docs