2012-10-06 7 views
5

Trato de desarrollar un kit de herramientas de aplicación SIM applet .. Muchos ejemplos simples que se encuentran en Internet, pero sin éxito ..de aplicaciones SIM Toolkit - texto de la pantalla no puede (en realidad nada) en la selección

El problema es; Mi entrada de menú viene en el menú STK, pero si la selecciono, no pasa nada .. Intento mostrar el texto en el evento EVENT_MENU_SELECTION. (En realidad, no sólo la visualización de texto, también SMS, USSD, sub elementos no funciona demasiado ..)

  • tengo tarjetas sim reales del fabricante para desarrollar y probar algunos applets con las claves de autenticación.
  • Lo pruebo en un teléfono inteligente con Android 2.3 NFC.
  • Para cargar el applet en SIM, utilizo ACR1281U como lector y Giesecke & Devrient JLoad 2.3.0 como cargador.
  • En el Sim Toolkit es una entrada de menú predeterminada, funciona bien.

Aquí está mi código de ejemplo .. La esperanza alguien tiene una idea .. (Quizás algunos de instalación específicas de parámetros de applet de carga?)

Gracias de antemano, 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

¿De dónde sacaste el kit de desarrollo STK? ¿Está abierto como el jcdk que puedes encontrar en la página de Oracle? – jlanza

Respuesta

1

Con el fin para utilizar los comandos STK, debe instalar correctamente su applet. Para SIM Toolkit tiene que ser una etiqueta CA en el comando INSTALL MAKE SELECTABLE. Si va a usar el kit de herramientas UICC, debe usar la etiqueta EA. Por favor, consulte ETSI 102 226 standard para más detalles.

+0

Hola gracias, bien, después de hacer seleccionable, funciona .. Puedo mostrar el texto ... Utilizo el sim.toolkit, y he leído la especificación de la Plataforma Global. Los parámetros de selección/instalación, ... etc. están bien, pero no pude entender los tokens de instalación (la última parte del parámetro de instalación). ¿Podrías referirme por favor? Y mi segunda pregunta, yo uso sim.toolkit, ¿cómo puedo usar el toolkit uicc? ¿Dónde puedo descargarlo? Gracias. – Kutschka

Cuestiones relacionadas