2014-06-16 47 views
2

我需要攔截當用戶在SIM卡的STK菜單中選擇一個選項時發送的命令。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: [email protected] 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

+0

你可以嘗試使用STK命令實際上是「模擬」用戶交互 一兩件事:你必須謹慎選擇你的USB調制解調器,因爲不是所有的人都能夠運行這樣的代碼。 我只能工作一臺設備:中興MF100 如果您需要更多信息,我會很樂意爲您提供我的經驗。 (現在我有一個可用的STK應用程序,通過使用USB調制解調器的STK菜單檢查餘額/充值金額) –

回答

0

兩種類型的命令可以被髮送到CP所示,可以在被攔截CatService.java

1)EVELOPE:

private void sendMenuSelection(int menuId, boolean helpRequired) 

2)端子RESP ONSE:

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

爲您發佈的日誌, 當你觸摸列表中的「查詢餘額」選項, 一些終端響應(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 

當調制解調器得到了終端RESP,它發送一個短信到特定運營商,然後你可能能夠收到關於平衡信息消息。注意SMS不是從Android發送的,它是由Stk在調制解調器中觸發的。