2012-10-06 1 views
5

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; 
    } 
    } 

} 
+0

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

Répondre

1

Pour Pour utiliser les commandes STK, vous devez installer correctement votre applet. Pour SIM Toolkit, il doit s'agir d'une balise CA dans la commande INSTALL MAKE SELECTABLE. Si vous utilisez la boîte à outils UICC, vous devez utiliser la balise EA. S'il vous plaît se référer à ETSI 102 226 standard pour plus de détails.

+0

Bonjour merci, ok, après avoir sélectionné, il fonctionne .. Je peux afficher le texte .. J'utilise le sim.toolkit, et lisez le cahier des charges Plate-forme mondiale. Les paramètres select/install, .. etc sont ok, mais je ne pouvais pas comprendre les jetons d'installation (la dernière partie du paramètre d'installation). Pourriez-vous me référer s'il vous plaît? Et ma deuxième question, j'utilise le sim.toolkit, comment puis-je utiliser la boîte à outils UICC, où puis-je télécharger? Merci. – Kutschka