【发布时间】:2022-02-09 00:02:41
【问题描述】:
我的钱包小程序需要执行 PLAY TONE 等操作。但它需要提示“是或否?”来自用户。 AFAIK,是 TAG_ALPHA_IDENTIFIER 负责的。但是,如果我在下面尝试此代码,它仍然会要求用户确认,但现在带有“@”文本。如何完全摆脱用户确认?
尝试 1. 失败并出现 NullPtrException
proHdlr.appendTLV(ToolkitConstants.TAG_ALPHA_IDENTIFIER, null, (short)0, (short)0);
proHdlr.send();
尝试2。提示'@@'
proHdlr.appendTLV(ToolkitConstants.TAG_ALPHA_IDENTIFIER, (byte)0, (byte)0);
proHdlr.send();
尝试 3. 提示 '@'
proHdlr.appendTLV(ToolkitConstants.TAG_ALPHA_IDENTIFIER, (byte)0);
proHdlr.send();
尝试4.提示默认文本
byte[] ALPHA_MSG = {};
proHdlr.appendTLV(ToolkitConstants.TAG_ALPHA_IDENTIFIER, ALPHA_MSG, (short)0, (short)ALPHA_MSG.length);
proHdlr.send();
根据ETSI 102.223,“8.2 Alpha identifier”部分,应该是:
| Description | Length |
|---|---|
| Alpha identifier tag | 1 |
| Length(X) | Y |
| Alpha identifier | X |
文档中也有“默认文本”,但是由于“5.3.7 文本属性”需要存在 Alpha 标识符,所以默认文本不应该打扰,对吧?
在本文档的“6.4.5 PLAY TONE”部分,第 45 页它说:
如果 alpha 标识符由 UICC 提供且为空数据对象(即长度 = '00' 且无值部分),则终端不应向用户提供任何信息;
这就是我需要的。我应该如何用 ProactiveHandler 做 Java?我所有的 Google 搜索都以 Alpha Identifier 的一些文本/菜单标题结束。
如何摆脱用户确认并在没有它的情况下执行主动操作?
【问题讨论】:
标签: javacard sim-card globalplatform sim-toolkit