不要删除我的短信息!
试想一下,某天你的朋友给你发了下面这条短信息:
在干嘛呢?早上收到你的东西了,今晚有空出来聊聊吗?
而此时应用程序正在运行,将会发生什么事呢?没错,你的朋友将会收到自动回复,但是,你却永远看不到这条短信息,因为它已经被删除了。能够想象吗,在某些情况下,错过上面这条短信息可能会引发一些不必要的误会……
为此,我们需要区分默认的查询短信息和自定义的查询短信息,前者在处理后应该自动删除,而后者则应该保留。因为默认的查询短信息都是以"{trombone:"开头的,所以我们只需一个messageinterceptor就可以截获所有默认的查询短信息了:
代码 1
在继续之前,我要就某些类型的命名变更说明一下,首先是iinterceptionprocessor接口重命名为ismsprocessor,它的process方法的sms参数类型改为smsmessage;接着是interceptionmanager类重命名为interceptormanager,里面的m_interceptionprocessors私有成员重命名为m_smsprocessors。
在代码1里,我们需要从截获的短信息中提取出短信息处理器的名字,获取对应的短信息处理器对象,然后把短信息交由它处理,其中,提取名字的工作由extractsmsprocessorname方法负责:
代码 2
至于自定义的查询短信息,我们仍然通过配置文件来存放messageinterceptor的配置信息(旧的配置信息可以扔了):
如果喜欢wm有约ii(五):区别对待不同的手机号码请收藏或告诉您的好朋友.
阅读(149) | 评论(0) | 转发(0) |