【问题标题】:Intercept commands on SIM STK MenuSIM STK 菜单上的拦截命令
【发布时间】:2014-06-16 13:42:10
【问题描述】:

当用户在SIM卡的STK菜单中选择一个选项时,我需要拦截发送的命令。

我搜了很多,看到有RIL协议,但是还没有成功。

就我而言,我需要知道模拟 sim 卡余额的命令。

我正在开发一个发送此命令并处理接收到的消息的应用程序。

以下日志显示在我触摸列表中的“检查余额”选项的确切时刻

06-11 09:29:27.388: D/CAT(944): CatService: 10arrived on slotid: 0 06-11 09:29:27.398: D/CAT(944): CatService: SEND_SMS 06-11 09:29:27.398: D/CAT(944): CatService: Sending CmdMsg: com.android.internal.telephony.cat.CatCmdMessage@41f6d030 on slotid:0 06-11 09:29:27.428: D/CAT(944): StkAppService: 1called on slot:0 06-11 09:29:27.428: D/CAT(944): StkAppService$ServiceHandler: SEND_SMS 06-11 09:29:28.700: D/PhoneInterfaceManager(944): Broadcasting intent ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW

【问题讨论】:

  • 您可以尝试使用 STK 命令来实际“模拟”用户交互 一件事:您必须仔细选择您的 USB 调制解调器,因为并非所有调制解调器都能够运行此类代码。我只能使用一台设备:ZTE MF100 如果您需要更多信息,我很乐意为您提供我的经验。 (现在我有一个可用的 STK 应用程序,可以使用 USB 调制解调器通过 STK 菜单检查余额/充值)
  • @GipszJakab 我需要这个请

标签: ril stk


【解决方案1】:

两种类型的命令可以发送到CP(modem),可以在CatService.java

中被拦截

1) 发展:

private void sendMenuSelection(int menuId, boolean helpRequired)

2) 终端响应:

private void sendTerminalResponse(CommandDetails cmdDet,
        ResultCode resultCode, boolean includeAdditionalInfo,
        int additionalInfo, ResponseData resp)

【讨论】:

    【解决方案2】:

    对于您发布的日志, 当您触摸列表中的“检查余额”选项时, 一些终端响应(pdu)被发送到调制解调器,如果您有兴趣,可以打印原始十六进制字节。

    06-11 09:29:27.388: D/CAT(944): CatService: 10arrived on slotid: 0
    06-11 09:29:27.398: D/CAT(944): CatService: SEND_SMS
    

    当调制解调器得到终端响应时,它会向特定的运营商发送一条短信,然后您可能会收到一条有关余额信息的消息。请注意,SMS 不是从 Android 发送的,它是由调制解调器中的 Stk 触发的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多