获取手机通话记录或短信记录中的联系人信息
2016-07-02 22:14
465 查看
1、手机联系人的信息domain类:
2、读取手机通话记录或短信记录中的联系人的实现类:
保存短信记录数据的数据库在data/data/com.android.providers.telephony/databases/mmssms.db中,提取用SQLiteExpertPers.exe打开后,表结构如图:
(注明:其中address指的是短信接收人的联系号码)
/** * @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 List<ContantBean> readSmslog(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<ContantBean> datas = new ArrayList<ContantBean>(); 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<ContantBean> 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<ContantBean> datas = new ArrayList<ContantBean>(); 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打开后,表结构如图:
(注明:其中address指的是短信接收人的联系号码)
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- Android实现表情 抓取新浪表情
- 详解Android解析Xml的三种方式——DOM、SAX以及XMLpull
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法