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

SMS治理:收信箱 发信息 编写新信息

2012-09-04 
SMS管理:收信箱 发信息 编写新信息SMS管理??[功能]?1. 收信箱:显示所有收到的信息 且实时显示 即:当有新信

SMS管理:收信箱 发信息 编写新信息

SMS管理

?

?

[功能]

?

1. 收信箱:显示所有收到的信息 且实时显示 即:当有新信息收到 能自动刷新显示

?

2. 发信箱:显示所有已发信息 同上

?

3. 编写新信息: 鉴于一些问题 打算不自行定义 而只通过Intent调用系统的

?

?

?

[原理]

?

1. 通过目标Uri显示收信箱 发信箱 ?目标Uri:content://sms/inbox content://sms/sent

?

2. 实时刷新:一个办法是开辟thread 定时查询目标Uri 显示之 ?但会带来一些效能影响 所以决定使用ContentObserve监听目标Uri 当有变动 由ContentObserve通知注册方 该Uri:content://sms

?

3. 注意:ContentObserve不能监听: content://sms/inbox & content://sms/sent 而只能监听content://sms

?

?

[代码 步骤]

?

1. 定义SMSObserver 用于监听目标 并通过Handle通知注册方

?

?

?

?

- 2.3.2. 其中2个TextView 分别显示信息地址和正文 2个Button 一个用于关闭当前窗口 一个用于短信回复 且自动填充 收信人地址

?

?

?

?

3. 鉴于SMSSent与SMSInbox大同小异 故不再细说 仅补上代码

?

?

?

> 4.2. SMSSent

?

- 4.2.1. 已发短信记录:

?

SMS治理:收信箱 发信息 编写新信息

?

- 4.2.2. SMSSent:

?

SMS治理:收信箱 发信息 编写新信息

?

?

?

?

5. 未解决问题:

?

> 5.1. ContentObserver 只能监听content://sms ?而不支持content://sms/inbox content://sms/sent ?个人猜测是因为:android 在写sms数据库 insert(...) 没有通过ContentResolver通知content://sms/inbox content://sms/sent 所致 即:没有以下代码:

?

getContext().getContentResolver().notifyChange(noteUri, null);

?

?

6. 如果写的有问题的 欢迎讨论 ?否则 请回帖支持一些


?

1 楼 lveyo 2010-06-07   请问,如果遇到群发信息,程序怎么处理? 2 楼 gryphone 2010-06-07   lveyo 写道请问,如果遇到群发信息,程序怎么处理?
群发?抱歉 因为我没有真机做测试 而emulator又不支持
不过那要看我怎么做了吧 3 楼 ableouou 2010-10-27   要做就基于源码开发吧 4 楼 zhq56030207 2010-12-08   当短信的数目发生变化时,如何监听得到/? 5 楼 wzbhbb 2011-04-02   好文章,受益了,不知“ 而不支持content://sms/inbox content://sms/sent  ”这句话是什么意思?

热点排行