Android根据电话号码获得联系人头像实例代码
作者:shichen2014 时间:2022-01-07 04:08:10
在日常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,电话,号码,联系人,头像
0
投稿
猜你喜欢
解析android中的dip,dp,px,sp和屏幕密度
2023-09-26 20:44:38
C++实现图书管理系统
2023-11-03 03:00:35
Java常用HASH算法总结【经典实例】
2023-04-26 00:34:55
Java线程之守护线程(Daemon)用法实例
2023-11-29 09:15:13
java项目构建Gradle的使用教程
2023-06-07 19:17:41
spring中的注解事务演示和添加步骤详情
2023-03-03 08:32:48
解读java try catch 异常后还会继续执行吗
2022-05-11 01:25:24
SpringMVC使用RESTful接口案例
2021-10-10 20:03:45
SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化
2023-02-12 16:14:21
如何利用Java输出链表中倒数第k个结点
2022-11-29 10:13:28
Java使用arthas修改日志级别详解
2023-02-04 23:09:26
Java实战员工绩效管理系统的实现流程
2021-11-20 19:04:28
java文件操作之java写文件简单示例
2023-10-21 14:37:13
Java导出Execl疑难点处理的实现
2021-09-18 12:55:11
springboot项目打成war包部署到tomcat遇到的一些问题
2023-10-12 12:46:46
Java中BigDecimal类的使用详解
2021-12-13 05:30:52
SpringBoot文件上传控制及Java 获取和判断文件头信息
2021-12-10 16:47:20
java中Unsafe的使用讲解
2022-08-02 08:08:18
Java实战之实现在线小说阅读系统
2022-10-09 18:15:09
Android实现多点触控功能
2021-10-18 08:39:33