Android根據(jù)電話號碼獲得聯(lián)系人頭像實例代碼
在日常Android手機的使用過程中,根據(jù)電話號碼獲得聯(lián)系人頭像,是經常會碰到的問題。本文即以實例形式講述了Android根據(jù)電話號碼獲得聯(lián)系人頭像是實現(xiàn)代碼。分享給大家供大家參考之用。具體方法如下:
首先,通過ContentProvider,可以訪問Android中的聯(lián)系人等數(shù)據(jù)。常用的Uri有:
聯(lián)系人信息Uri:content://com.android.contacts/contacts
聯(lián)系人電話Uri:content://com.android.contacts/data/phones
聯(lián)系人郵件Uri:content://com.android.contacts/data/emails
并且提供了根據(jù)電話號碼獲取data表數(shù)據(jù)的功能,方法為:data/phones/filter/號碼,返回一個數(shù)據(jù)集。再通過數(shù)據(jù)集獲得該聯(lián)系人的contact_id,根據(jù)contact_id打開頭像圖片的InputStream,最后用BitmapFactory.decodeStream()獲得聯(lián)系人的頭像。
具體功能代碼如下:
// 根據(jù)號碼獲得聯(lián)系人頭像
public static void get_people_image(String x_number){
// 獲得Uri
Uri uriNumber2Contacts = Uri.parse("content://com.android.contacts/"
+ "data/phones/filter/" + x_number);
// 查詢Uri,返回數(shù)據(jù)集
Cursor cursorCantacts = context.getContentResolver().query(
uriNumber2Contacts,
null,
null,
null,
null);
// 如果該聯(lián)系人存在
if (cursorCantacts.getCount() > 0) {
// 移動到第一條數(shù)據(jù)
cursorCantacts.moveToFirst();
// 獲得該聯(lián)系人的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程序設計有所幫助。
- Android實現(xiàn)本地上傳圖片并設置為圓形頭像
- Android使用CircleImageView實現(xiàn)圓形頭像的方法
- Android實現(xiàn)用戶頭像更換操作
- Android實現(xiàn)從本地圖庫/相機拍照后裁剪圖片并設置頭像
- Android手機拍照或選取圖庫圖片作為頭像
- Android一行代碼實現(xiàn)圓形頭像
- Android實現(xiàn)調用系統(tǒng)圖庫與相機設置頭像并保存在本地及服務器
- Android實現(xiàn)個人資料頁面頭像背景模糊顯示包(狀態(tài)欄)
- Android頭像上傳功能的實現(xiàn)代碼(獲取頭像加剪切)
- Android實現(xiàn)IM多人員組合的群組頭像
相關文章
Android 關于“NetworkOnMainThreadException”問題的原因分析及解決辦法
這篇文章主要介紹了Android 關于“NetworkOnMainThreadException”的相關知識,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧2016-02-02

