2012-10-06 58 views
5

我嘗試開發一個SIM卡應用工具包小程序(實際上沒有)。在互聯網上找到許多簡單的例子,但沒有成功..SIM卡應用工具包 - 斜面顯示文本上選擇

的問題是; 我的菜單條目出現在STK菜單中,但如果選擇它,則不會發生任何事情。我嘗試在事件EVENT_MENU_SELECTION上顯示文本。 (實際上不僅顯示文本,也短信,ussd,子項不起作用太..)

  • 我有真正的SIM卡從製造商開發和測試一些小程序與身份驗證密鑰。
  • 我在Android 2.3 NFC智能手機上測試它。
  • 要將小程序加載到SIM中,我使用ACR1281U作爲閱讀器,並使用Gi​​esecke & Devrient JLoad 2.3.0作爲加載程序。
  • 在Sim Toolkit中默認有一個菜單項,工作正常。

這裏是我的示例代碼。希望任何人有一個想法。(也許有些具體安裝在裝載applet的參數?)

由於提前, Kutschka

package proactive_cmd; 

import javacard.framework.*; 
import sim.access.*; 
import sim.toolkit.*; 

public class display_text extends Applet 
    implements ToolkitConstants, ToolkitInterface 
{ 
    private static final byte CMD_QUALIFIER = (byte)0x80; 

    private byte[] menuEntry = {'M','y','M','e','n','u'}; 
    private byte[] textBuf = {'H','e','l','l','o'}; 

    private ToolkitRegistry reg; 
    private SIMView gsmFile; 

    public display_text() { 
    //Get the GSM application reference 
    gsmFile = SIMSystem.getTheSIMView(); 

    reg = ToolkitRegistry.getEntry(); 

    reg.initMenuEntry(menuEntry, 
         (short) 0, 
         (short) menuEntry.length, 
         PRO_CMD_DISPLAY_TEXT, 
         false, 
         (byte) 0, 
         (short) 0); 
    } 

    public static void install(byte[] bArray, short bOffset, byte bLength) 
    throws ISOException 
    { 

    display_text dt = new display_text(); 
    dt.register(); 
    } 

    public void processToolkit(byte event) 
    throws ToolkitException 
    { 
    ProactiveHandler ph = ProactiveHandler.getTheHandler(); 

    if (event == EVENT_MENU_SELECTION) { 


     ph.init((byte) PRO_CMD_DISPLAY_TEXT, (byte) CMD_QUALIFIER, DEV_ID_DISPLAY); 
     ph.appendTLV((byte)(TAG_TEXT_STRING | TAG_SET_CR), 
        textBuf, 
        (short) 0, 
        (short) textBuf.length); 
     ph.send(); 
    } 
    } 


    public void process(APDU apdu) { 
    if (selectingApplet()) { 
     return; 
    } 
    } 

} 
+0

你從哪裏得到STK開發套件?它是否像甲骨文網頁上的jcdk一樣開放? – jlanza

回答

1

爲了要使用STK命令,您必須正確安裝您的小程序。對於SIM工具包,它必須是INSTALL MAKE SELECTABLE命令中的CA標籤。如果你使用UICC工具包,你必須使用EA標籤。詳情請參閱ETSI 102 226 standard

+0

你好,謝謝你, 好的,在做出可選擇之後,它可以工作..我可以顯示文本.. 我使用sim.toolkit,並閱讀了全球平臺規範。可選/安裝,..等參數是好的,但我不明白安裝令牌(安裝參數的最後一部分)。你能提請我嗎? 而我的第二個問題,我使用sim.toolkit,我該如何使用uicc工具包,我可以在哪裏下載它? 謝謝。 – Kutschka