2.3WAP PUSH
2.3.1模块构成图
模块说明:
- WapPushOverSms:对接收到的wap push pdu进行处理,取出pdu的header、data等信息后广播到APP层。
- WapPushParser:根据wap push解析规范对wap push的data信息进行解析,解析出wap push中含有的内容、超链接等。
- PushReceiver:接收framework广播的action为WAP_PUSH_DELIVER_ACTION的intent,并启动相应处理逻辑进行处理。
- WapPushHandler:将wap push data放入 WapPushParser中解析,并将解析后的数据存入MMS数据库。
2.3.2数据流
方案说明:
- 新规wap push处理类WapPushHandler与wap push解析类WapPushParser。
- 接收到framework传入的wap push相关数据以后由WapPushHandler调用WapPushParser解析wap push data,并将解析后的数据存入MMS数据库。
2.3.3接收WAP PUSH时序图
接收WAP PUSH处理概要:
- WapPushOverSms接收到wap push消息后对消息进行初步解析,然后将解析后的数据放入action为WAP_PUSH_DELIVER_ACTION的intent中,该intent中也应放入接收wap push的subId和发送者的address,然后将该intent广播出去。
- PushReceiver接收到广播之后,取出intent中的data、subscription、address,然后调用WapPushHandler的handleWapPush()方法处理。
- handleWapPush()调用 WapPushParser的parse()方法对wap push data进行解析,解析完成后通过getContent()与getHyperLink()取出wap push文字内容与超链接。
- 通过storeWapPushMessage()将wap push内容、subId、address等存入MMS数据库