2.4.4 空闲模式
如果设备在接收DISPLAY TEXT STK主动命令时处于空闲模式,设备必须从这种待机模式切换到显示相关弹出窗口。一旦STK命令处理完成(例如用户选择了“确定”按钮),设备必须返回到其初始状态。
2.4.5 锁屏 - 手动解锁与通知
如果设备在接收DISPLAY TEXT STK主动命令时处于空闲模式且被锁定,设备必须从这种待机模式切换,显示屏幕上的通知,并允许用户手动解锁设备。一旦解锁,设备必须显示与该DISPLAY TEXT命令相关的弹出窗口。
状态描述:
- 移动电话处于锁定状态。
- 接收到二进制短信并由SIM小程序触发显示。根据用户锁屏配置,消息显示在屏幕上:
- 不显示通知。
- 显示通知但无内容。
- 显示通知和内容。
- 用户解锁屏幕后显示消息。(DISPLAY TEXT命令)
2.4.6 外部交互
设备必须实施以下行为以避免呼叫/SMS与DISPLAY TEXT STK主动命令之间的冲突:
- 在DISPLAY TEXT过程中收到电话呼叫 → 用户必须能够接听/拒绝此呼叫或停留在DISPLAY TEXT窗口。如果用户拒绝呼叫,DISPLAY TEXT窗口应仍然显示在移动屏幕上。如果用户接受呼叫,DISPLAY TEXT窗口应仍然显示在设备屏幕上,或在用户完成通话后显示(如果DISPLAY TEXT命令的超时未到达)。
- 在DISPLAY TEXT过程中收到短信 → DISPLAY TEXT窗口应仍然显示在设备屏幕上。
- 在通话过程中发送DISPLAY TEXT命令 → DISPLAY TEXT窗口必须显示在设备屏幕上。一旦STK命令处理完成(例如用户选择“确定”、“取消”、超时等),DISPLAY TEXT窗口将关闭,但通话必须在整个过程中保持建立状态。
- 在来电建立或短信到达的同时发送DISPLAY TEXT命令 → 设备必须在不影响来电或短信的情况下处理DISPLAY TEXT STK命令。
2.5 GET INPUT命令
设备必须符合ETSI TS 102 223标准中描述的GET INPUT SIM工具包主动命令的参数和文本格式要求。
设备必须处理以下三种文本编码:
- 数据编码方案00 → GSM默认字母表7位打包
- 数据编码方案04 → GSM默认字母表8位
- 数据编码方案08 → 16位UCS2字母表
设备还必须支持描述用户输入的命令限定符:
- 第1位:
- 0 = 仅数字(0到9,*,#,和+);
- 1 = 字母集。
- 第2位:
- 0 = SMS默认字母表;
- 1 = UCS2字母表。
- 第3位:
- 0 = 终端可以在显示上回显用户输入;
- 1 = 用户输入不得以任何方式显示(参见注释)。
- 第4位:
- 0 = 用户输入应为非打包格式;
- 1 = 用户输入应为SMS打包格式。
如果设备集成了虚拟键盘,这个键盘必须直接显示键盘数字。
设备不应在屏幕上显示预期的字符和长度(例如“数字(0-9,*,#,+)1-9”),也不应在窗口顶部显示任何标题(例如“SIM工具包”)。
如果命令限定符指示用户输入不得以任何方式显示,终端应防止文本字符串被任何方式识别(例如,可以显示星号代替字符)。
按下设备上的主页或返回按钮不应使弹出窗口消失。弹出窗口应保持在顶部,并且只能通过“确定/取消”退出。
设备必须处理STK命令中所需的最小和最大字符数,这得益于“响应长度”值。
建议使用“确定”而不是“发送”。
下图展示了预期的显示效果:
请注意,此图仅为示例,实际显示效果可能因设备而异
2.5.1 按钮处理
在接收到GET INPUT SIM工具包主动命令时,设备必须在其屏幕上显示文本消息、一个允许用户输入数字字符的字段以及“确定”和“取消”两个选项(如果“取消”选项没有显示在屏幕上,则应在上下文菜单中找到)。强烈推荐在屏幕上同时显示“取消”按钮和“确定”按钮。
设备必须将用户操作的结果代码(包括输入的字符)返回给小程序,在TERMINAL RESPONSE中。
按下设备上的主页或返回按钮不应使弹出窗口消失。弹出窗口应保持在顶部,并且只能通过“确定”或“取消”命令退出。
理想情况下,能够显示窗口标题(Text 1)。
应在GET INPUT命令中提供文本(Text 1)。
如果在text 2内容中显示URL,它应自动被检测为超链接。点击链接时,应触发默认手机浏览器打开URL。
返回码和设备行为必须遵循以下详细原则:
用户操作 | MobileConnect结果 | STK结果 | 返回码(十六进制) | 设备行为 |
---|---|---|---|---|
确定按下 | 验证 | 命令成功执行 | 00 | 窗口关闭 |
取消按下 | 取消 | 用户主动终止主动UICC会话 | 10 | 窗口关闭 |
主页按钮按下(如果存在) | 取消 | 用户主动终止主动UICC会话 | 10 | 窗口关闭 |
返回按钮按下(如果存在) | 取消 | 用户请求在主动UICC会话中后退 | 11 | 窗口关闭 |
多任务按钮按下(如果存在) | 无 | 无 | 无 | 用户可以使用多任务按钮重新激活窗口(如果用户在超时前未采取任何操作,则设备必须关闭STK通道,并在TERMINAL RESPONSE中返回返回码12) |
用户点击显示窗口外(如果可能) | 无 | 无 | 无 | 无操作(窗口仍然显示) |
无用户操作(超时) | 取消 | 用户未响应 | 12 | 超时后窗口关闭 |
请注意,上表中某些按钮可能因设备的操作系统、制造商等因素而未实现
2.5.2 超时处理
GET INPUT命令可能包含“Duration”标签中的一个值。虽然ETSI TS 102 223标准[1]中未指定这一要求,但大多数设备已实现此功能,并且某些应用需要此功能。持续时间参数应该是可配置的,并且将被编码在2个字节中。第一个字节指示使用的时长单位,第二个字节包含时间间隔。
- 时间单位编码如下:
- 00 -> 分钟
- 01 -> 秒
- 02 -> 十分之一秒
- 时间间隔包含1到255之间的值。
如果在GET INPUT命令期间用户没有在设备上进行任何操作,当达到持续时间值时,窗口必须关闭。设备还必须向SIM卡发送状态码12,在TERMINAL RESPONSE中。
2.5.3 空闲模式
如果设备在接收到GET INPUT STK主动命令时处于空闲模式,设备必须退出待机模式以显示相关的弹出窗口。一旦STK命令处理完成(例如用户已输入字符并选择了“确定”按钮),设备必须返回到其先前的状态。
2.5.4 锁屏 - 手动解锁与通知
如果设备在接收到GET INPUT STK主动命令时处于空闲模式且被锁定,设备必须退出待机模式并在屏幕上显示通知消息,并允许用户手动解锁设备。一旦解锁,设备必须显示与GET INPUT STK主动命令相关的弹出窗口。
2.5.5 外部交互
设备必须实施以下行为以避免呼叫/SMS与GET INPUT STK主动命令之间的任何冲突:
- 在GET INPUT过程中收到电话呼叫 → 用户必须能够接听此呼叫、拒绝此呼叫或停留在GET INPUT窗口。如果用户拒绝呼叫,GET INPUT窗口应仍然显示在设备屏幕上。如果用户接受呼叫,GET INPUT窗口应仍然显示在设备屏幕上,或在用户挂断电话后显示(如果GET INPUT命令的超时未到达)。
- 在GET INPUT过程中收到短信 → GET INPUT窗口应仍然显示在设备屏幕上。
- 在通话过程中发送GET INPUT命令 → GET INPUT窗口必须显示在设备屏幕上。一旦STK命令处理完成(例如用户选择“确定”、“取消”、超时等),GET INPUT窗口将关闭,但通话必须在整个过程中保持建立状态。
- 在来电建立或短信到达的同时发送GET INPUT命令 → 设备必须在不影响来电或短信的情况下处理GET INPUT STK命令。
2.6 发送短消息命令
设备必须符合ETSI TS 102 223标准关于发送短消息(SEND SHORT MESSAGE)STK主动命令的要求。
如果此STK命令包含“Alpha Identifier”且长度设置为“00”,设备不应在设备屏幕上显示任何消息(例如,不显示“SIM卡已发送短信”等消息)。
如果STK命令的“地址”标签中没有包含SMS-C地址,设备必须从EFSMSP SIM卡文件中检索它。
2.7 选择项目命令
设备应支持选择项目(SELECT ITEM)命令。
2.8 发送USSD命令
设备应支持发送USSD(SEND USSD)命令。