Android-sim卡应用STK框架简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

HandleMessageStkAppService+mStkService1.概述:STK是SIM卡工具包(SIMToolKit),其作用是与SIM卡中的内置应用按照STK的协议(参见GSM11.14/GSM11.11)进行交互,framework中主要是起编解码的作用,app主要是起显示和交互作用,逻辑都是按照协议来的。CatServiceAppInterfaceStkAppServiceStk...ActivityRILAPPFrameworkSTKCatServiceRILAppInterfaceStkCmdReceiverBootCompletedReceiverstartServiceServiceHandlerStkMenuActivityStkInputActivityStkDialogActivityAppInterface.onCmdResponseStkLauncherActivityOP_launchOP_BootCompletedDecode/Encode类上行—HandleCmd()OP_CMD:Setup_menuSelect_itemDisplay_text下行—handleCmdResponse()OP_RESPONSE:Menu_selectOKTimeoutbackbroadcastOP_CMDOP_END_SESSIONUNSOL_STK_PROACTIVE_COMMANDUNSOL_STK_SESSION_ENDREQUEST_STK_SEND_TERMINAL_RESPONSESIM/modem2、AndroidManifest分析:applicationandroid:clearTaskOnLaunch=trueandroid:process=com.android.phoneactivityandroid:name=StkLauncherActivityandroid:enabled=false所以,STK应用运行在Phone进程中(与framework关系密切,持有CatService的对象),同时默认在launcher上不会显示图标,因为STK应用只有插卡后切卡中支持STK才能使用,因此有专门的类StkAppInstaller进行install和uninstall,开机后收到OP_BOOT_COMPLETED时会uninstall,收到SET_UP_MENU消息后会install,安装过后的入口Activity是StkLauncherActivity3、StkAppService分析:StkAppService是STK应用的核心类,是一个后台service,有ServiceHandler辅助处理事件,所有事务都需要经过该service进行分配、处理。显示哪个界面、哪些数据都是由该service决定。同时持有framework中Catservice的对象,下行直接调用CatService的onCmdResponse方法。主要处理两类事件,一是OP_CMD,是由底层上报的命令,App根据命令的具体要求执行操作。二是OP_RESPONSE,是用户的操作(或者超时)事件,App需要把这些操作传给底层。4、Ril命令介绍:与modem交互的命令,标准的命令一般上行有两个,下行一个,如图中所示。不同的厂商可能有不同的扩展。STK中有Session即会话的概念,一次完整交互的流程是底层上报Proactive消息,上层根据用户操作回TerminalResponse,底层再上报,上层再回,最后以Sessionend结束此次会话消息的格式是TLV格式(TAG-Length-Value),具有一定的可读性,前提是要熟悉编解码的格式。具体可参见GSM11.14协议或者代码中的编解码类图注:蓝色箭头表示继承关系黑色箭头表示调用关系5、其他:main中的log以“CAT”为TAG,包括了framework中的CatService的日志。Radio中的日志带有“STK”字符,主要是RIL的消息。

1 / 1
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功