android 中stk学习

来源:互联网 发布:rar解压密码破解软件 编辑:程序博客网 时间:2024/04/28 22:21
STK 流程处理 ,以Display_TEXT为例
 
1,ril上报消息。
ril.java 收到上报消息 RIL_UNSOL_STK_PROACTIVE_COMMAND
调 mStkProCmdRegistrant
stkService.java 收到消息 handleMessage  MSG_ID_PROACTIVE_COMMAND
 
2,上报数据的解码
 
调用 RilMessageDecode 进行来的消息的解码。
调用 CommandParamsFactory 的 make 函数来解码
在TextMessage的text变量已经存储解析完毕的数据 
 
STK解码的函数在 CommandParams.java commandDetails.java
stkService.java中 定义 ComprehensionTlvTag
 
以全球通卡为例
D0628103012100820281020D570870B951FB786E8BA48FDB51654E2D56FD79FB52A84E3A60A863D04F9B76845B9E7528670D52A1002C4F539A8C4E305BCC591A5F69768479FB52A865705B57751F6D3BFF0C53D66D8852198FDB5165624B673A754C9762
 
TS 102 223
D0 proactive UICC command tag
62 length 
81 command details tag
03 command length 
01 command number 
21 00 display text
82 devices identities tag
02 length 
81  source UICC
02  Display
0D text string tag
57  length 
O8 UCS2
 
以CommandParamsFactory 的 make 函数为引导一个个字节的来解析。参见
(ETSI TS 102 221,ETSI TS 102 223协议)
 
3, framework 上报数据到上层
 
stkService.java中 处理 handleRilMsg 消息
command类型 MSG_ID_PROACTIVE_COMMAND  将显示的text           
cmdParams = (CommandParams) rilMsg.mData;
处理 handleProactiveCommand
类型 DISPLAY_TEXT 
通过 STK_CMD_ACTION intent 类型发送给 stkCmdReceiver .改receiver 启动
StkAppService
 
原创粉丝点击