项目中遇到读取系统短信并展示的需求,网上收集了一些资料并简单测试了下。
系统短信数据库表有sms表,和thread表。sms表里是所有的信息。thread是会话表。
盗了别人两个图:
sms表,信息表
threads表
说明:
// 系统字段
public final static String SYS_ID = "_id";// //短消息序号
public final static String SYS_THREAD_ID = "thread_id";// 对话的序号(conversation)
public final static String SYS_ADDRESS = "address";// 发件人地址,手机号
public final static String SYS_PERSON = "person";// 发件人,返回一个数字就是联系人列表里的序号,陌生人为null
public final static String SYS_DATE = "date"; // 日期 long型
public final static String SYS_PROTOCOL = "protocol"; // 协议
public final static String SYS_READ = "read"; // 是否阅读
public final static String SYS_STAUS = "status"; // 状态
public final static String SYS_TYPE = "type"; // 类型 1是**到的,2是发出的
public final static String SYS_REPLY_PATH_PRESENT = "reply_path_present"; //
public final static String SYS_SUBJECT = "subject"; // 主题
public final static String SYS_BODY = "body"; // 内容
public final static String SYS_SERVICE_CENTER = "service_center"; // 短信服务中心号码编号,可以得知该短信
------------10.10
短信路径:public static final Uri CONTENT_URI = Uri.parse("content://sms/");
监听短信数据库变化的时候,只能监听到新短息;
会话列表删除,会话已读未读状态都监听不到。
---------------10.12
解决:http://blog.csdn.net/actual_/article/details/8060143
盗了别人两个图:
sms表,信息表
threads表