title: Sim Application Toolkit - cant display text (actually nothing) on selection
body: <p>I try to develop a Sim Application Toolkit Applet.. Many simple examples found in internet, but no success.. </p>
  
  <p>The problem is;
  My menu entry comes in the STK menu, but if I select it, nothing happens.. I try to display text on event EVENT_MENU_SELECTION. (Actually not only displaying text, also sms, ussd, sub items doesn't work too..)</p>
  
  <ul>
  <li>I have real sim cards from the manufacturer to develop and test some applets with the auth keys.</li>
  <li>I test it on a Android 2.3 NFC smartphone.</li>
  <li>To load the applet into SIM, I use ACR1281U as reader and Giesecke &amp; Devrient JLoad 2.3.0 as loader.</li>
  <li>In the Sim Toolkit is default a menu entry, working fine.</li>
  </ul>
  
  <p>Here is my sample code.. Hope anybody has an idea.. (Maybe some specific install parameter on loading applet?)</p>
  
  <p>Thanks in advance,
  Kutschka</p>
  
  <pre><code>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;
      }
    }
  
  }
  </code></pre>