自定义"你在干嘛?"
在上一集结束的时候,我们发现一个极其严重的问题——这个应用程序会忽略我们最初希望截获的"你在干嘛?"!这怎么行?好,马上添加一个configuration.xml:
代码 1
这段配置信息包含了4个截获设置,它们分别用于截获"计算机"版、普通话版、广东话版和英文版的"你在干嘛?"。每个截获设置都会有一个comparisontype属性,它是用来指定比较方式的,equal意味着只有短信息的内容和指定的字眼相等才把它截下来,而contains则意味着只要短信息包含指定的字眼就把它截下来。
上面这段配置信息是用来构建messageinterceptor对象的,这项工作将会由interceptionmanager来负责,而完成这项工作的代码将会放在它的构造函数里:
代码 2
这段代码首先使用helper.mappath方法获取配置文件的完整路径,接着把配置信息读到xelement对象里,然后根据这些信息构建出messageinterceptor对象,最后把构建好的对象存到"本地"。需要说明的是,comparisontype属性所使用的值其实就是messagepropertycomparisontype枚举的字面值,所以这里直接使用enum.parse方法来解析这些值。如果你读过第一辑的《wm有约》,那么你应该不会对helper.mappath方法的实现感到陌生:
如果喜欢wm有约ii(二):持续改进请收藏或告诉您的好朋友.
阅读(137) | 评论(0) | 转发(0) |