我的钱包小程序需要执行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”部分,它应该是:
描述 | 长度 |
---|---|
Alpha 标识符标签 | 1 |
长度(X) | 是 |
字母标识符 | X |
并且文档中还有“默认文本”,但是由于“5.3.7 文本属性”需要存在 Alpha 标识符,所以默认文本不应该打扰,对吧?
在本文档的“6.4.5 PLAY TONE”部分,第 45 页它说:
如果 alpha 标识符由 UICC 提供并且是空数据对象(即长度 = '00' 并且没有值部分),则终端不应向用户提供任何信息;
这就是我需要的。我应该如何使用 ProactiveHandler 做 Java?我所有的 Google 搜索都以 Alpha Identifier 的一些文本/菜单标题结束。
如何摆脱用户确认并在没有它的情况下执行主动操作?