簡體   English   中英

Sim Application Toolkit - 無法在選擇時顯示文本(實際上沒有)

[英]Sim Application Toolkit - cant display text (actually nothing) on selection

我嘗試開發一個Sim Application Toolkit Applet。在互聯網上發現了許多簡單的例子,但沒有成功..

問題是; 我的菜單條目來自STK菜單,但如果我選擇它,則沒有任何反應..我嘗試在事件EVENT_MENU_SELECTION上顯示文本。 (實際上不僅顯示文本,還有短信,ussd,子項也不起作用..)

  • 我有來自制造商的真實SIM卡,用auth鍵開發和測試一些applet。
  • 我在Android 2.3 NFC智能手機上測試它。
  • 要將小程序加載到SIM中,我使用ACR1281U作為閱讀器,使用Giesecke&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;
    }
  }

}

要使用STK命令,您必須正確安裝applet。 對於SIM Toolkit,它必須是INSTALL MAKE SELECTABLE命令中的CA標記。 如果您將使用UICC工具包,則必須使用EA標記。 有關詳細信息,請參閱ETSI 102 226標准

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM