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