我嘗試開發一個SIM卡應用工具包小程序(實際上沒有)。在互聯網上找到許多簡單的例子,但沒有成功..SIM卡應用工具包 - 斜面顯示文本上選擇
的問題是; 我的菜單條目出現在STK菜單中,但如果選擇它,則不會發生任何事情。我嘗試在事件EVENT_MENU_SELECTION上顯示文本。 (實際上不僅顯示文本,也短信,ussd,子項不起作用太..)
- 我有真正的SIM卡從製造商開發和測試一些小程序與身份驗證密鑰。
- 我在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開發套件?它是否像甲骨文網頁上的jcdk一樣開放? – jlanza