android 中stk学习

转载自zuopiezi_809的博文: 

android 中stk学习

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值