我正在尝试构建一个应用程序,我的应用程序将 APDU 发送到我 SIM 卡上的 Java 卡小程序。收到此 apdu 后,我希望我的 Applet 使用特定 URL 启动浏览器。我可以在 Java Card 3.0 Connected 版本中做同样的事情。我读过 Java Card 2.2.2 在主动处理程序中有一个用于启动浏览器的选项,但我找不到它。如果有人能告诉我怎么做,我将不胜感激。
问问题
1019 次
1 回答
3
对的,这是可能的。但是,很多手机(尤其是运行 iOS 的手机)不支持此功能,因此您应始终先检查TERMINAL PROFILE
命令的输出。
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
}
}
于 2017-01-24T13:51:59.823 回答