WM有约II(五):区别对待不同的手机号码
中国IT站 www.chinaitz.com 2009-2-12

  不要删除我的短信息!

  试想一下,某天你的朋友给你发了下面这条短信息:

  在干嘛呢?早上收到你的东西了,今晚有空出来聊聊吗?

  而此时应用程序正在运行,将会发生什么事呢?没错,你的朋友将会收到自动回复,但是,你却永远看不到这条短信息,因为它已经被删除了。能够想象吗,在某些情况下,错过上面这条短信息可能会引发一些不必要的误会……

  为此,我们需要区分默认的查询短信息和自定义的查询短信息,前者在处理后应该自动删除,而后者则应该保留。因为默认的查询短信息都是以"{Trombone:"开头的,所以我们只需一个MessageInterceptor就可以截获所有默认的查询短信息了:

WM有约II(五):区别对待不同的手机号码

  代码 1

  在继续之前,我要就某些类型的命名变更说明一下,首先是IInterceptionProcessor接口重命名为ISmsProcessor,它的Process方法的sms参数类型改为SmsMessage;接着是InterceptionManager类重命名为InterceptorManager,里面的m_InterceptionProcessors私有成员重命名为m_SmsProcessors。

  在代码1里,我们需要从截获的短信息中提取出短信息处理器的名字,获取对应的短信息处理器对象,然后把短信息交由它处理,其中,提取名字的工作由ExtractSmsProcessorName方法负责:

WM有约II(五):区别对待不同的手机号码

  代码 2

  至于自定义的查询短信息,我们仍然通过配置文件来存放MessageInterceptor的配置信息(旧的配置信息可以扔了):

共5篇1 2 3 4 5 下一页
责任编辑:admin本文仅代表作者观点,与中国IT站立场无关。
收藏】 【推荐】 【投稿】 【 】 【打印】 【关闭
评论加载中...