Перехват команд в SIM STK Menu

Мне нужно перехватить, какая команда отправляется, когда пользователь выбирает одну опцию в меню STK SIM-карты.

Я много искал и видел, что есть протокол RIL, но я пока не добился успеха.

В моем случае мне нужно знать команду для имитации проверки баланса сим-карты.

Я разрабатываю приложение, которое отправляет эту команду и обрабатывает полученное сообщение.

следующий журнал отображается в тот момент, когда я касаюсь опции "проверить баланс" в списке

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

2 ответа

Команды двух типов могут быть отправлены на CP(модем), могут быть перехвачены в CatService.java

1) EVELOPE:

private void sendMenuSelection(int menuId, boolean helpRequired)

2) Ответ терминала:

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

Для журнала, который вы разместили: Когда вы касаетесь опции "проверить баланс" в списке, некоторые ответы терминала (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 определенному оператору, и тогда вы можете получить сообщение о балансе. Обратите внимание, что SMS не отправлено с Android, оно вызывается Stk в модеме.

Другие вопросы по тегам