?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

长沙麻将技巧:澳门网站大全h:WM有约II(五):区别对待不同的手机号码

?

长沙转转麻将必胜口诀 www.fv7j.com.cn 不要删除我的短信息!

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

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

而此时利用法度榜样正在运行,将会发生什么事呢?没错,你的同伙将会收到自动回覆,然则,你却永世看不到这条短信息,由于它已经被删除了。能够想象吗,在某些环境下,错过上面这条短信息可能会激发一些不需要的误会……

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

代码 1

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

在代码1里,我们必要从截获的短信息中提掏出短信息处置惩罚器的名字,获取对应的短信息处置惩罚器工具,然后把短信息交由它处置惩罚,此中,提取名字的事情由ExtractSmsProcessorName措施认真:

代码 2

至于自定义的查询短信息,我们仍旧经由过程设置设置设备摆设摆设文件来寄放MessageInterceptor的设置设置设备摆设摆设信息(旧的设置设置设备摆设摆设信息可以扔了):

代码 3

这些MessageInterceptor的创建和之前的(拜见《WM有约II(二):持续改进》的代码2)一样,除了InterceptionAction属性的值必要改为InterceptionAction.Notify,这样,自定义的查询短信息就不会被删除了。

好了,现在用Cellular Emul澳门网站大全hator发送一个短信息看看:

图 1

嗯,自动回覆功能正常,再来看看短信息有没有保留下来:

图 2

很好!这样我们就不会错过任何紧张的信息了。

这是谁的手机号码?

到今朝为止,无论谁发送查询短信息,利用法度榜样都邑自动回覆,这样不好,我盼望利用法度榜样轻忽陌生的手机号码,即假如发送查询短信息的人不在我的联系人里,就不要回覆了。那么,若何判断某小我是否在我的联系人里呢?我们可以经由过程Sms澳门网站大全hMessage.From属性获取一个Recipient工具,它存储了发送方的信息,包括发送方的姓名(Recipient.Name属性)和地址(Recipient.Addre澳门网站大全hss属性)。Recipient.Address属性的值可能是一个手机号码(例如+8613713149394),也可能是一个由姓名和手机号码组合而成的字符串(例如"Stephen Chou" ),这取决于发送方是否在联系人里,以是你不能简单地把它的值和Contact.MobileTelephoneNumber属性的值进行对照。Recipient.Name属性的值可能是一个手机号码,也可澳门网站大全h能是一个姓名,当发送方不在联系人里时,它的值便是发送方的手机号码,而当发送方已在联系人里时,它的值则和Contact.FileAs属性的值相等,以是我澳门网站大全h们可以斟酌把Recipient.Name属性的值和Contact.FileAs属性的值进行对照。据此,我们可以经由过程如下代码判断发送方是否在联系人里:

15933449394

13122113344

只有第一个手机号码获得自动回覆,第二个已被轻忽了:

图 6

谁查询过我的状态/安排?

到今朝为止,查询短信息的截获和状态/安排的自动回覆都是利用法度榜样悄然默默完成的,我们无从得知背后究竟发生了什么工作。人无意偶尔候很抵触,一方面盼望工作最好能够自动完成,另一方面又害怕自动化会把节制权夺走。自动化可以解放我们的留意力,但同时也会孕育发生认知空缺,从而导致情绪上的焦炙。于是,我们不难想象,故事的成长会孕育发生一个新的需求——奉告我谁查询过我的状态/安排以及利用法度榜样若何处置惩罚每个查询哀求。不用我说你也知道,这个需求会导致用户界面的改变(下面那个灰色方框是DataGrid控件):

图 7

这些历史记载将会存储在InterceptionHistory.xml里,这个文件的内容布局如下所示:

代码 6

此中,每个interception元素将会对应一个Interception工具,它的定义如下:

代码 7

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: