Neptune 3 UI - 应用请求
应用请求是在Neptune 3 UI中使用的集体术语,用来描述应用程序之间命令的交换。应用请求目前使用Qt应用程序管理器中的两个功能:OpenDocument接口和Neptune 3 UI应用中的意图。
应用请求用于发送请求到应用程序,仅打开或在特定状态下打开。换句话说,这个动作应该可以从系统中的任何地方执行。
简要演示
以下示例演示了“打开音乐应用”和“打开地图应用并导航到特定充电站”的请求。
以下行被添加到申请程序的 info.yaml 文件中,以便 ApplicationManager 能够识别。
音乐应用,info.yaml
mimeTypes: [ 'x-scheme-handler/x-radio' ]
地图应用,info.yaml
mimeTypes: [ 'x-scheme-handler/x-map' ]
最后,在系统中随机位置,从该处发送请求
Button { id: openRadioApp onClicked: { Qt.openUrlExternally("x-radio://"); } } Button { id: takeMeHome onClicked: { Qt.openUrlExternally("x-map://takemehome"); } }
此外,对于地图应用程序,以下行应添加到应用的商店中,以便对url进行如下处理,指示应用程序设置选定的地址并准备导航到该地址。
Connections { target: ApplicationInterface //handle here all specific app behavior function onOpenDocument: { //process documentUrl "getmeto/Donald Weese Ct, Las Vegas" } }
对于音乐应用程序示例,由于其只涉及打开应用,因此在它的商店中不需要添加任何内容。
详细设计
应用程序可以调用Qt.openUrlExternally()函数,传递要打开的应用程序的目标mime-type作为参数,然后是所需的url,以指示应用打开时应执行的操作。
为了成功执行,应根据需要将相应的mime-type添加到应用程序的info.yaml文件中(例如,mimeTypes: [ 'x-scheme-handler/x-radio' ])。然后,ApplicationManager将参考其内部的程序数据库,寻找与x-scheme-handler/x-mimeType匹配的内容。如果匹配成功,将发出openUrlRequested信号,其接收器(ApplicationRequestHandler)可以调用acknowledgeOpenUrlRequest函数来确认请求或拒绝它(rejectOpenUrlRequest)。如果应用程序启动,将通过信号openDocument(string documentUrl, string mimeType)将其url作为文档传递给应用程序,该信号通过其ApplicationInterface。
当ApplicationX请求打开ApplicationY时的简要图解
当发送返回键按下时的简要图解
Neptune 3 UI 应用程序中的意图
Qt 应用程序管理器 的意图允许应用程序通过发送命令并等待返回值(信息)来与另一个应用程序或与系统 UI 进行通信。
下表描述了应用程序提供的意图集合(请参阅 意图系统 UI 和应用程序示例 文档),以及应用程序对意图的通用描述。例如,在第一行中,列出的应用程序在“应用”列中对 activate-app 意图做出响应,通过打开或升起应用程序窗口。
名称 | 功能 | 应用 |
---|---|---|
activate-app | 打开或升起应用程序窗口 |
|
set-next-accent-color | 切换到下一个主题颜色 |
|
show-destination | 打开地图以进行文本查询(参数:destination :文本地址查询) |
|
music-command | 切换音乐曲目(参数:musiccommand :prev/next) |
|
call-support | 启动对 Neptune 支持服务的调用(更多信息请参阅 开发停车应用程序) |
|
trigger-voiceassistant | 使 Alexa 应用程序能够监听命令 |
|
vehicle-control | 操作车辆的门、后备箱和天窗。此意图需要 3 个参数
|
|
Neptune 3 UI 中的当前用例
媒体应用程序
所有媒体应用程序(收音机、网络收音机、音乐)都通过请求相互连接。要尝试,请导航到音乐、收音机或网络收音机应用程序,并在左侧工具栏菜单中按“源”。将打开包含所有可用音乐源的下拉菜单。点击任何这些源将直接进入相应的媒体应用程序。
车辆设置
能量面板中有一个包含“充电站”建议的列表。若按其中一个,地图应用程序将打开并加载所选充电站的地址。
©2019 Luxoft Sweden AB。本文档中包含的贡献是各自所有者的版权。
提供的文档根据自由软件基金会发布的 GNU 自由文档许可协议第 1.3 版 的条款许可。
Qt 和相应的徽标是芬兰的 Qt 公司和/或其他国家和地区的商标。所有其他商标均属于其各自所有者。