2017-01-24 4 views
2

J'essaye de construire une application où mon application envoie une APDU à une applet Java Card sur ma carte SIM. Lorsque cet apdu est reçu, je veux que mon applet lance le navigateur avec une URL spécifique. Je peux faire la même chose dans Java Card 3.0 Edition connectée. J'ai lu que Java Card 2.2.2 a une option dans le gestionnaire proactif pour le lancement du navigateur, mais je ne peux pas le trouver. J'apprécierais vraiment que quelqu'un puisse me montrer comment le faire.Comment lancer le navigateur avec une URL spécifique à partir de Java Card 2.2.2 Applet de la carte SIM?

Répondre

2

Oui, c'est possible. Cependant, beaucoup de téléphones (en particulier ceux qui exécutent iOS) ne prennent pas en charge cela, donc vous devez toujours vérifier la sortie de la commande TERMINAL PROFILE en premier.

import sim.toolkit.*; 
... 

private final static byte[] URL = { 
    (byte)'h', (byte)'t', (byte)'t', (byte)'p', (byte)':', (byte)'/', (byte)'/', (byte)'w', (byte)'w', (byte)'w', (byte)'.', (byte)'g', (byte)'o', (byte)'o', (byte)'g', (byte)'l', (byte)'e', (byte)'.', (byte)'c', (byte)'o', (byte)'m' 
}; 
private static final byte PROFILE_LAUNCH_BROWSER = (byte)70; 

private static final void browse() throws ToolkitException { 
    if (MEProfile.check(PROFILE_LAUNCH_BROWSER)) { //checking if the device supports this proactive command 
     ProactiveHandler proactiveHandler = ProactiveHandler.getTheHandler(); 
     proactiveHandler.init(ToolkitConstants.PRO_CMD_LAUNCH_BROWSER, (byte)0x00, ToolkitConstants.DEV_ID_ME); 
     proactiveHandler.appendTLV(ToolkitConstants.TAG_URL, URL, (short)0, (short)URL.length); 
     proactiveHandler.send(); 
    } else { 
     //feature not supported, throw an exception or do something like that 
    } 
} 
+0

Merci, Il semble que vous ayez un gestionnaire proactif. Qui répond à une action de l'applet SIM Toolkit. Pouvons-nous ruter cette méthode lorsque la carte SIM est sous tension? –

+2

Downvote? Vraiment? Pourquoi? Laissez un commentaire la prochaine fois, s'il vous plaît ... – vojta

+1

@AbhirupGhosh Désolé, je ne comprends pas votre commentaire .... J'utilise standard 'ProactiveHandler', qui est généralement disponible sur les cartes SIM exécutant Java Card. Quand souhaitez-vous lancer la commande proactive? Après un événement? Ou en réaction à un appel SEEK API direct? – vojta