Android根据电话号码获得联系人头像实例代码
程序员文章站
2022-04-30 23:00:33
在日常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程序设计有所帮助。
上一篇: Android发送短信功能代码