设备操作
探索者可以请求提供商执行操作。如果提供程序支持该操作,则应确认并执行该操作,否则应将其忽略。
消息组名称 | 值 |
---|---|
设备操作事件 | 0x04 |
设备操作代码名称 | 值 |
---|---|
铃声 | 0x01 |
让设备响铃
这些操作的一个用例是 Seek 请求提供程序响铃,例如当用户丢失设备并需要定位它时。收到响铃操作后,提供方应开始以足够高的音量播放预加载的声音文件,确保用户能够找到它。随着时间的推移,建议将声音从低音量逐步调高到最大音量。响铃应继续响起,直到收到可指示经停点的其他操作或超时值已过。
消息中将包含额外的数据来指示应响铃还是应停止响铃,响铃后可展开这些数据以支持具有多个组件(左耳机和右耳机)的提供程序。在第一个字节中,位将设置为 1 以请求开始响铃,或设置为 0 以请求停止响铃。
例如,如果将其他数据的第一个字节设置为:
- 0x00 (0b00000000):所有组件都应停止响铃
- 0x01 (0b00000001):让右耳机响铃,让左耳机停止响铃
- 0x02 (0b00000010):让左耳机响铃,让右耳机响铃
- 0x03 (0b00000011):左边和右边都响铃
在不支持个人响铃的提供程序中,应仅考虑 1 位:
- 0x00 (0b00000000):停止响铃
- 0x01 (0b00000001):开始响铃
其他数据中的第二个字节(如果存在)表示超时(以秒为单位)。提供程序应使用该值来确定在将自身静音多久之前响铃。根据上述环右示例和 60 秒的超时,0x013C
将作为额外数据进行传递。
正在将响铃状态同步至搜寻者
提供程序可能在更改响铃状态(例如,如果手势导致响铃停止)时通知通知。然后,Seeker 可以接收消息并在必要时更新界面。
提供程序应遵循上例中定义的消息格式。搜索者将监听此消息,并在收到此消息时进行确认。
确认操作
在收到操作后,应确认该操作,以便 Seek 知道是否执行了相应操作。如果未在发送操作后的 1 秒内收到确认信息(或收到否定确认),寻求者将认为该操作目前不受支持。