je tente de développer une boîte à outils d'application Sim Applet .. De nombreux exemples simples trouvés dans Internet, mais sans succès ..Sim Toolkit application - texte d'affichage ne peux pas (en fait rien) sur la sélection
Le problème est; Mon entrée de menu vient dans le menu STK, mais si je le sélectionne, rien ne se passe .. J'essaie d'afficher du texte sur l'événement EVENT_MENU_SELECTION. (En fait, non seulement le texte d'affichage, aussi sms, USSD, articles sous ne fonctionne pas trop ..)
- je cartes sim réel du fabricant pour développer et tester des applets avec les touches auth.
- je le tester sur un smartphone Android 2.3 NFC.
- Pour charger l'applet dans SIM, j'utilise ACR1281U comme lecteur et Giesecke Devrient & Jcharge 2.3.0, comme le chargeur.
- Dans la boîte à outils Sim est par défaut une entrée de menu, fonctionne très bien.
Voici mon exemple de code .. Espoir quelqu'un a une idée .. (Peut-être que certains paramètres d'installation spécifiques sur l'applet de chargement?)
Merci à l'avance, 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;
}
}
}
Où avez-vous obtenu le kit de développement STK? Est-il ouvert comme le jcdk que vous pouvez trouver sur la page d'Oracle? – jlanza