获取手机通话记录或短信记录中的联系人信息
发布日期:2021-06-30 18:39:23
浏览次数:2
分类:技术文章
本文共 2374 字,大约阅读时间需要 7 分钟。
1、手机联系人的信息domain类:
/** * @author Administrator * 手机联系人的信息封装 */public class ContantBean { private String phone; private String name; public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
2、读取手机通话记录或短信记录中的联系人的实现类:
import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.net.Uri;/** * @author Administrator * 读取手机联系人的功能类 */public class ReadContantsEngine { /** * @return * 电话日志的记录 */ public static ListreadSmslog(Context context){ //1,电话日志的数据库 //2,通过分析,db不能直接访问,需要内容提供者访问该数据库 //3,看上层源码 找到uri content://sms Uri uri = Uri.parse("content://sms"); //获取电话记录的联系人游标 Cursor cursor = context.getContentResolver().query(uri, new String[]{ "address"}, null, null, " _id desc"); List datas = new ArrayList (); while (cursor.moveToNext()) { ContantBean bean = new ContantBean(); String phone = cursor.getString(0);//获取号码 //String name = cursor.getString(1);//获取名字 //bean.setName(name); bean.setPhone(phone); //添加数据 datas.add(bean); } return datas; } /** * @return * 电话日志的记录 */ public static List readCalllog(Context context){ //1,电话日志的数据库 //2,通过分析,db不能直接访问,需要内容提供者访问该数据库 //3,看上层源码 找到uri content://calls Uri uri = Uri.parse("content://call_log/calls"); //获取电话记录的联系人游标 Cursor cursor = context.getContentResolver().query(uri, new String[]{ "number","name"}, null, null, " _id desc"); List datas = new ArrayList (); while (cursor.moveToNext()) { ContantBean bean = new ContantBean(); String phone = cursor.getString(0);//获取号码 String name = cursor.getString(1);//获取名字 bean.setName(name); bean.setPhone(phone); //添加数据 datas.add(bean); } return datas; }}
保存通话记录数据的数据库在data/data/com.android.providers.contacts/databases/contacts2.db中,提取用SQLiteExpertPers.exe打开后,表结构如图:
保存短信记录数据的数据库在data/data/com.android.providers.telephony/databases/mmssms.db中,提取用SQLiteExpertPers.exe打开后,表结构如图:
转载地址:https://linqiarui.blog.csdn.net/article/details/51163079 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月29日 02时03分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SpringBootTest使用Mock测试文件上传
2019-04-30
微服务实战中如何理解服务熔断和降级的区别
2019-04-30
简单理解下java关键字native
2019-04-30
指定maven的jdk版本
2019-04-30
log4j监控mybatis的普通配置
2019-04-30
随堂笔记_2
2019-04-30
LayUi引入JSON文件进行表格重载时出现接口请求异常
2019-04-30
maven web项目中的web.xml的版本如何更改
2019-04-30
springmvc多个视图解析器管理跳转资源
2019-04-30
如何将excel表格内的数据导入至mysql数据库
2019-04-30
PowerDesigner如何将物理模型转为对象模型,将对象模型转生成Java类
2019-04-30
springBoot静态资源优先级)
2019-04-30
restful风格案例
2019-04-30
Java开发工程师面试稿--测试
2019-04-30
解决github访问不了的问题(此方案仅供参考)
2019-04-30
springboot数据访问基本操作步骤
2019-04-30
Druid数据源在springboot中的配置及启用查看druid监控页
2019-04-30
MyBatisX
2019-04-30