首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android短信治理

2012-09-16 
Android短信管理android会把短信信心保存在数据库中,可查看/dbdata/databases/com.android.providers.tele

Android短信管理

android会把短信信心保存在数据库中,可查看/dbdata/databases/com.android.providers.telephony/mmssms.db。但是我们不能直接访问数据库,只能通过ContentProvider来访问它。

?

以下是访问短信数据库的uri

content://sms/inbox??????? 收件箱
content://sms/sent??????? 已发送
content://sms/draft??????? 草稿
content://sms/outbox??????? 发件箱
content://sms/failed??????? 发送失败
content://sms/queued??????? 待发送列表

?

数据库相关字段如下:

_id?????????????? 一个自增字段,从1开始
thread_id??? 序号,同一发信人的id相同
address ???? 发件人手机号码(根据这个查找联系人姓名?)
person??????? 联系人列表里的序号,陌生人为null
date??????????? 发件日期,单位是milliseconds,从1970/01/01至今所经过的时间)
protocol????? 协议,分为: 0 SMS_RPOTO, 1 MMS_PROTO?
read?????????? 是否阅读,0未读, 1已读?
status???????? 状态,-1接收,0 complete, 64 pending, 128 failed
type
??? ALL??? = 0;
??? INBOX? = 1;
??? SENT?? = 2;
??? DRAFT? = 3;
??? OUTBOX = 4;
??? FAILED = 5;
??? QUEUED = 6;

body???????????????????? 短信内容
service_center???? 短信服务中心号码编号
subject????????????????? 短信的主题
reply_path_present ??? TP-Reply-Path
locked

?

?

?

查询信息:

检索数据方法很简单:??在Activity中

?

?

managedQuery(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)

参数依次为

uri????????????????? 上面已列出
查询字段?????????查询字段数组,也可以将所有需要查询的字段放入一个字符内???
????????????????????? 比如new String[]{"_id", "thread_id"}和new String[]{"_id,thread_id"}是一致的。???
????????????????????? 跟SQL一样,字段名不区分大小写???
条件??????????????? 不带Where的SQL 条件字符比如"_id=? And thread_id = ? Or type =?? '1'"???
条件中的参数?? 参数字符数组,跟上述的条件一一对应???
排序??????????????? 不带Order by排序字符串,比如_id desc, type???
如果参数为null,SQL中查询字段为“*”,相关的条件为空白

??

?

删除信息:

<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission><uses-permission android:name="android.permission.READ_SMS"></uses-permission>

??

?

待续。。。

参考自http://www.cnblogs.com/GnagWang/archive/2011/01/06/1929075.html

热点排行