Stk相关

    xiaoxiao2021-03-25  143

    Stk概述

    SIM Card Tool Kit; 指SIM卡开发工具包;

    如果是USIM卡,简称USIM。Stk的代码程序是写在SIM卡上的,所以Stk.apk完成的功能就是和卡程序通信。以Sim卡的容量大小可以想到stk的功能是比较弱的,最常见的stk功能应该就是开机的时候弹出的“欢迎使用联通”字样之类的dialog框,还有号簿管家,打开移动wap网络主页等等功能。 Stk的主界面和子界面全部是list,点击listitem发送相应命令到modem,依据modem回应做各种处理.例如要进子列表就加载子列表展示,是要显示某些信息就弹对话框提示,要输入某些东西就弹出输入框,要发送短信则直接使用framework层的类直接发送短信,要显示一个网页就跳转到浏览器。实际上modem的交互就是一个应答模式,通过at命令一问一答,stk只不过是提供一个UI方式供用户操作。每个命令的处理有超时时间,一般是30秒,超时没有应答后一般动作是返回上一层。

    app代码简介

    mtk的stk app代码在,注意不是packages/apps/Stk,高通的好像还使用原生的位置:

    /home/lgy/code/mtk6797/vendor/mediatek/proprietary/packages/apps/Stk

    <application android:icon="@drawable/ic_launcher_sim_toolkit" android:label="@string/app_name" android:clearTaskOnLaunch="true" android:process="com.android.phone" android:taskAffinity="android.task.stk">AndroidManifest中可看到进程是运行在com.android.phone中,因为要使用telephony framework的代码。

    StkAppInstaller

    插入卡的时候显示stk,拔出卡的时候桌面不显示stk,这个功能是在StkAppInstaller中完成的:

    private static void setAppState(Context context, boolean install, int sim_id) { ... PackageManager pm = context.getPackageManager(); ... pm.setComponentEnabledSetting(cName, state, PackageManager.DONT_KILL_APP); ... }使用PackageManager 的方法可以开启和禁用app,禁用后当然在桌面不显示,不仅不显示实际上被禁用的app代码都无法运行(就和没有安装apk一个表现)。这个实际上就是n多系统管家超级省电模式的原理。

    StkAppService

    stk中最核心的类,其余类都在该类的管理之下

    StkCmdReceiver

    StkAppService中使用,收stk相关广播

    StkDialogActivity

    对话框样式的Activity,用于弹出提示。例如开机弹框就是这个。

    StkInputActivity

    输入框样式的Activity,用于输入一些东西

    StkMenuActivity

    stk的界面,因为stk的所有UI都是一个列表,所以可以做成一个通用的activity。

    framework代码简介

    frameworks/opt/telephony/src/java/com/android/internal/telephony/cat/

    吐槽

    对stk的代码基本没任何分析,因为这个实在是没啥好说的。作为功能机时代就有的功能,简陋至极的UI,缓慢的响应,孱弱的功能,在智能机时代已经不合时宜了。有测试同学提的bug,例如wap服务网页打不开,那是移动运营商就不维护那个网页了好不好,今天TM还有谁用wap上网啊。号簿管家有微信电话本好用嘛?运营商网上营业厅的app各大应用市场都有好不好。除了之前做运营商深度定制机今天还有哪个厂商要考虑stk。新开卡的同学应该发现不少4G的卡已经没有stk这个功能了,卡程序应该在不久就会推出历史舞台了。不仅是stk,原先通过Sim卡设置的呼叫转移等功能新出的4G卡大多已经无法通过通话设置进行设置了,只能通过网上营业厅。Stk代码也没有啥通用性,高通自己的代码,4.4.2的stk放到4.4.4就不能用了。 大家要远离stk啊。
    转载请注明原文地址: https://ju.6miu.com/read-9164.html

    最新回复(0)