车辆代理生命周期管理

申请号 CN201510208395.9 申请日 2015-04-28 公开(公告)号 CN105049468A 公开(公告)日 2015-11-11
申请人 福特全球技术公司; 发明人 爱德华·瓦安曼; 伊丽莎白·哈雷斯; 斯特凡·班考夫斯基; 尼古拉斯·索恩; 凯文·巴戴特;
摘要 本 发明 涉及车辆代理生命周期管理。一种装置可使用被配置为管理移动装置到基于车辆的计算系统(VCS)的连接的应用代理来在VCS中注册移动应用;由移动应用利用应用代理根据从VCS接收的指示移动应用对VCS的 人机界面 (HMI)的 访问 级别的HMI状态,经由VCS的HMI呈现移动应用 用户界面 。
权利要求

1.一种系统,包括:
移动装置,被配置为:
使用被配置为管理移动装置到基于车辆的计算系统VCS的连接的应用代理来在VCS中注册移动应用;
由移动应用利用应用代理根据从VCS接收的指示移动应用对VCS的人机界面HMI的访问级别的HMI状态,经由VCS的HMI呈现移动应用用户界面
2.如权利要求1所述的系统,其中,移动装置还被配置为响应于移动应用被移到VCS的HMI的前台而从VCS接收HMI状态,其中,HMI状态指示移动应用能够对HMI进行完全访问。
3.如权利要求2所述的系统,其中,移动装置还被配置为当移动应用确定移动应用之前没有接收到对HMI的完全访问的HMI状态时,利用VCS执行用户界面初始化。
4.如权利要求1所述的系统,其中,移动装置还被配置为通过应用代理经由所述连接而由移动应用的代理监听器接收HMI状态。
5.如权利要求4所述的系统,其中,代理监听器响应于用户对VCS的移动应用菜单中的移动应用的选择而接收HMI状态。
6.如权利要求4所述的系统,其中,移动装置还被配置为响应于经由代理监听器的代理关闭回调而接收到的通知,取消移动应用对应用代理使用的初始化,其中,所述通知向移动应用指示应用代理与VCS断开连接。
7.如权利要求1所述的系统,其中,移动装置还被配置为:
将应用代理实例化为移动装置的后台处理;
由应用代理从VCS接收对移动装置上可用的移动应用的查询;
由应用代理利用移动装置上可用的移动应用的列表来对VCS做出响应。
8.如权利要求1所述的系统,其中,移动装置还被配置为:
由移动应用经由所述连接来接收第二HMI状态,所述第二HMI状态指示移动应用对VCS的HMI的第二级别的HMI访问;
由移动应用根据所述第二HMI状态与HMI进行交互。
9.一种系统,包括:
基于车辆的计算系统VCS,被配置为:
从移动装置应用代理接收移动应用的代理监听器的注册;
将指示将被提供给移动应用的移动应用对VCS的人机界面HMI的访问级别的HMI状态发送到代理监听器;
根据HMI状态经由VCS的HMI来呈现移动应用用户界面。
10.如权利要求9所述的系统,其中,VCS还被配置为响应于移动应用被移到VCS的HMI的前台来发送HMI状态,其中,HMI状态指示移动应用能够对HMI进行完全访问。
11.如权利要求10所述的系统,其中,HMI状态被配置为当移动应用确定移动应用之前没有接收到对HMI的完全访问的HMI状态时,使移动装置利用VCS执行用户界面初始化。
12.如权利要求9所述的系统,其中,VCS还被配置为经由连接将HMI状态发送到由应用代理管理的移动应用的代理监听器。
13.如权利要求12所述的系统,其中,代理监听器响应于用户对VCS的移动应用菜单中的移动应用的选择而接收HMI状态。
14.如权利要求12所述的系统,其中,VCS还被配置为经由代理监听器的代理关闭回调发送向移动应用指示应用代理从VCS断开连接的通知,以使移动应用取消对应用代理使用的初始化。
15.如权利要求9所述的系统,其中,移动装置还被配置为:
将应用代理实例化为移动装置的后台处理;
由应用代理从VCS接收对移动装置上可用的移动应用的查询;
由应用代理利用移动装置上可用的移动应用的列表来对VCS做出响应。
16.如权利要求9所述的系统,其中,VCS还被配置为:
将指示移动应用对VCS的HMI的第二级别的HMI访问的第二HMI状态发送到移动应用;
根据所述第二HMI状态更新对移动应用用户界面的呈现。

说明书全文

车辆代理生命周期管理

技术领域

[0001] 本公开总体上涉及使用应用代理针对联网的应用的连接生命周期管理。

背景技术

[0002] 车载远程信息车辆系统可包括使驾驶员能够发出和接收免提电话呼叫、控制音乐和进行逐向导航的通信和娱乐功能。这些系统还可允许经由语音命令来控制这种功能。为了支持车辆的各种远程信息处理功能,移动装置可以与远程信息处理系统进行配对,并用于使系统能够访问移动装置的功能。发明内容
[0003] 在第一示意性实施例中,一种系统包括移动装置,所述移动装置被配置为:使用被配置为管理移动装置到基于车辆的计算系统(VCS)的连接的应用代理来在VCS中注册移动应用;由移动应用利用应用代理根据从VCS接收的指示移动应用对VCS的人机界面(HMI)的访问级别的HMI状态,经由VCS的HMI呈现移动应用用户界面
[0004] 在第二示意性实施例中,一种系统包括基于车辆的计算系统(VCS),所述基于车辆的计算系统被配置为:从移动装置应用代理接收移动应用的代理监听器的注册;将指示将被提供给移动应用的移动应用对VCS的人机界面(HMI)的访问级别的HMI状态发送到代理监听器;根据HMI状态经由VCS的HMI来呈现移动应用用户界面。
[0005] 在第三示意性实施例中,一种包括指令的非暂时性计算机可读介质,其中,当所述指令由移动装置的处理器执行时被配置为使移动装置执行以下操作:使用被配置为管理移动装置到基于车辆的计算系统(VCS)的连接的应用代理来在VCS中注册移动应用;由移动应用利用应用代理根据从VCS接收的指示移动应用对VCS的人机界面(HMI)的访问级别的HMI状态,经由VCS的HMI呈现移动应用用户界面。
[0006] 根据本发明的一个实施例,所述计算机可读介质还可包括被配置为使移动装置执行以下操作的指令:响应于移动应用被移到VCS的HMI的前台,通过应用代理经由所述连接而由移动应用的代理监听器从VCS接收HMI状态;当移动应用确定移动应用之前没有接收到对HMI的完全访问的HMI状态时,利用VCS执行用户界面初始化。
[0007] 根据本发明的一个实施例,所述计算机可读介质还可包括被配置为使移动装置执行以下操作的指令:将应用代理实例化为移动装置的后台处理;由应用代理从VCS接收对移动装置上可用的移动应用的查询;由应用代理利用移动装置上可用的移动应用的列表来对VCS做出响应。
[0008] 根据本发明的一个实施例,所述计算机可读介质还可包括被配置为使得移动装置执行以下操作的指令:由移动应用经由所述连接来接收第二HMI状态,所述第二HMI状态指示移动应用对VCS的HMI的第二级别的HMI访问;由移动应用根据所述第二HMI状态与HMI进行交互。附图说明
[0009] 图1示出实现用户交互式的基于车辆的计算系统的车辆信息娱乐系统的示例性方框拓扑图;
[0010] 图2示出经由应用代理与移动装置进行通信的示例性车辆;
[0011] 图3示出用于为车辆娱乐信息系统与移动应用之间的连接提供自动化生命周期管理的示例性处理。

具体实施方式

[0012] 根据需要,在此公开本发明的详细实施例;然而,将理解的是,所公开的实施例仅仅是本发明的示例,其中,本发明可以以各种替代形式来实现。附图无需按比例绘制;一些特征可被夸大或最小化以示出特定组件的细节。因此,在此公开的具体结构和功能细节不应被解释为具有限制性,而仅仅是用于教导本领域技术人员以多种方式利用本发明的代表性基础
[0013] 移动应用可指的是存储在移动装置(诸如,蜂窝电话)上且由移动装置执行的可执行软件。基于车辆的计算系统(VCS)可包括移动网关功能,以允许这种移动应用以安全、不分散注意且稳定的方式通过车辆的用户界面来呈现人机界面(HMI)。因此,虽然移动应用可由移动装置来执行,但是所述应用可利用移动网关与VCS交换程序数据以及命令和控制信息。
[0014] 为了有助于VCS与移动装置之间的数据和信息的交换,移动装置可载有位于移动应用与VCS的移动网关之间的应用代理中介。虽然应用代理可有助于移动应用与VCS之间的通信,但是应用代理可能要求手动地针对每个移动应用创建和维护代理对象以及对连接、握手、断开连接和各种错误场景进行处理。
[0015] 改进的应用代理可被配置为代表移动应用自动地管理连接到VCS的生命周期。改进的应用代理可被配置为对在VCS与移动装置之间的连接的握手、连接管理和生命周期的其他方面进行处理。通过使用改进的应用代理,移动应用能够简化对代理和相关联的VCS连接的处理,以及确保移动应用正确地处理连接和与VCS的通信所需要的建立操作、时序操作和维护操作。
[0016] 图1示出用于车辆31的基于车辆的计算系统(VCS)1的示例方框拓扑图。这种基于车辆的计算系统1的示例为由福特汽车公司制造的SYNC系统。设置有基于车辆的计算系统的车辆可包含位于车辆中的可视前端界面4。如果所述界面设置有例如触摸敏感屏幕,则用户可还能够与所述界面进行交互。在另一示意性实施例中,通过按钮按压、具有自动语音识别和语音合成的口语对话系统来进行交互。
[0017] 在图1中所示的示意性实施例1中,处理器3控制基于车辆的计算系统的至少一部分操作。设置在车辆内的处理器允许对命令和例程进行车载处理。另外,处理器被连接到非持久性存储器5和持久性存储器7两者。在此示意性实施例中,非持久性存储器是随机存取存储器(RAM),持久性存储器是硬盘驱动器(HDD)或闪存。一般说来,持久性(非暂时性)存储器可包括当计算机或其他装置掉电时保持数据的所有形式的存储器。这些存储器包括但不限于:HDD、CD、DVD、磁带、固态驱动器、便携式USB驱动器和任何其他适当形式的持久性存储器。
[0018] 处理器还设置有允许用户与处理器进行交互的若干不同的输入。在此示意性实施例中,麦克29、辅助输入25(用于输入33)、USB输入23、GPS输入24、屏幕4(可为触摸屏显示器)和蓝牙输入15全部被设置。还设置有输入选择器51,以允许用户在各种输入之间进行切换。对麦克风和辅助连接器两者的输入在被传送到处理器之前,由转换器27对所述输入进行模数转换。尽管未示出,但是与VCS进行通信的众多车辆组件和辅助组件可使用车辆网络(诸如但不限于CAN总线)向VCS(或其组件)传送数据并传送来自VCS(或其组件)的数据。
[0019] 系统的输出可包括但不限于可视显示器4以及扬声器13或立体声系统输出。扬声器被连接到放大器11并通过数模转换器9从处理器3接收其信号。还可分别沿19和21所示的双向数据流进行到远程蓝牙装置(诸如PND 54)或USB装置(诸如车辆导航装置60)的输出。
[0020] 在一示意性实施例中,系统1使用蓝牙收发器15与用户的移动装置53(例如,蜂窝电话、智能电话、PDA或具有无线远程网络连接能力的任何其他装置)进行通信(17)。移动装置随后可用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,蜂窝塔57可以是WiFi接入点。
[0021] 移动装置与蓝牙收发器之间的示例性通信由信号14表示。
[0022] 可通过按钮52或类似的输入来指示移动装置53与蓝牙收发器15进行配对。相应地,指示CPU使得车载蓝牙收发器将与移动装置中的蓝牙收发器进行配对。
[0023] 可利用例如与移动装置53关联的数据计划、话上数据或DTMF音调在CPU 3与网络61之间传送数据。可选地,可期望包括具有天线18的车载调制解调器63以便在CPU 3与网络61之间通过语音频带传送数据(16)。移动装置53随后可用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,调制解调器
63可与蜂窝塔57建立通信(20),以与网络61进行通信。作为非限制性示例,调制解调器
63可以是USB蜂窝调制解调器,并且通信20可以是蜂窝通信。
[0024] 在一示意性实施例中,处理器设置有包括用于与调制解调器应用软件进行通信的API的操作系统。调制解调器应用软件可访问蓝牙收发器上的嵌入式模固件,以完成与(诸如设置在移动装置中的)远程蓝牙收发器的无线通信。蓝牙是IEEE 802 PAN(个域网)协议的子集。IEEE 802 LAN(局域网)协议包括WiFi并与IEEE 802 PAN具有相当多的交叉功能。两者都适合于车辆内的无线通信。可在这一范围使用的另一通信方式是自由空间光通信(诸如IrDA)和非标准化消费者红外协议。
[0025] 在另一实施例中,移动装置53包括用于语音频带或宽带数据通信的调制解调器。在话上数据的实施例中,当移动装置的所有者可在数据被传送的同时通过装置说话时,可实施已知为频分复用的技术。在其他时间,当所有者没有在使用装置时,数据传送可使用整个带宽(在一示例中是300Hz至3.4kHz)。尽管频分复用对于车辆与互联网之间的模拟蜂窝通信而言会是常见的并仍在被使用,但其已经很大程度上被用于数字蜂窝通信的码域多址(CDMA)、时域多址(TDMA)、空域多址(SDMA)的混合体所替代。这些都是ITU IMT-2000(3G)兼容的标准,为静止或行走的用户提供高达2mbs的数据速率,并为在移动的车辆中的用户提供高达385kbs的数据速率。3G标准现在正被高级IMT(4G)所替代,其中,所述高级IMT(4G)为在车辆中的用户提供100mbs的数据速率并为静止的用户提供1gbs的数据速率。
如果用户具有与移动装置关联的数据计划,则所述数据计划可允许宽带传输且系统可使用宽得多的带宽(加速数据传送)。在另一实施例中,移动装置53被安装至车辆31的蜂窝通信装置(未示出)所替代。在又一实施例中,移动装置(ND)53可以是能够通过例如(而非限制)802.11g网络(即WiFi)或WiMax网络进行通信的无线局域网(LAN)装置。
[0026] 在一实施例中,传入数据可经由话上数据或数据计划穿过移动装置,穿过车载蓝牙收发器,并进入车辆的内部处理器3。例如,在某些临时数据的情况下,数据可被存储在HDD或其他存储介质7上,直至不再需要所述数据时为止。
[0027] 可与车辆进行接口连接的另外的源包括:具有例如USB连接56和/或天线58的个人导航装置54、具有USB 62或其他连接的车辆导航装置60、车载GPS装置24、或具有与网络61连接的能力的远程导航系统(未示出)。USB是一类串行联网协议中的一种。IEEE TM TM TM1394(火线 (苹果)、i.LINK (索尼)和Lynx (德州仪器))、EIA(电子工业协会)串行协议、IEEE 1284(Centronics端口)、S/PDIF(索尼/飞利浦数字互连格式)和USB-IF(USB开发者论坛)形成了装置-装置串行标准的骨干。多数协议可针对电通信或光通信来实施。
[0028] 此外,CPU可与各种其他的辅助装置65进行通信。这些装置可通过无线连接67或有线连接69来连接。辅助装置65可包括但不限于个人媒体播放器、无线保健装置、便携式计算机等。
[0029] 此外或可选地,可使用例如WiFi(IEEE 803.11)收发器71将CPU连接到基于车辆的无线路由器73。这可允许CPU在局域路由器73的范围中连接到远程网络。
[0030] 除了具有由位于车辆中的车辆计算系统执行的示例性处理之外,在某些实施例中,还可由与车辆计算系统通信的计算系统来执行示例性处理。这样的系统可包括但不限于:无线装置(例如但不限于移动电话)或通过无线装置连接的远程计算系统(例如但不限于服务器)。总体上,这样的系统可被称为与车辆关联的计算系统(VACS)。在某些实施例中,VACS的特定组件可根据系统的特定实施而执行处理的特定部分。作为示例而并非限制的方式,如果处理具有与配对的无线装置发送或者接收信息的步骤,则很可能无线装置没有在执行该处理,这是因为无线装置不会与自身进行信息的“发送和接收”。本领域的普通技术人员将理解何时不适合对给定解决方案应用特定的VACS。在所有解决方案中,预期至少位于车辆内的车辆计算系统(VCS)自身能够执行示例性处理。
[0031] 图2示出经由应用代理208与移动装置53进行通信的示例性车辆31。如上述提到的,VCS 1的CPU 3可被配置为与一个或更多个移动装置53进行接口连接。为了有助于所述接口连接,VCS 1可包括移动网关功能,其中,移动网关功能被配置为通过连接206向连接到VCS 1的移动装置53提供车辆31服务。安装在移动装置53上的移动应用204可将应用代理208实例化,以允许移动应用204利用连接206来在VCS 1中进行注册,并利用HMI 202和由VCS 1提供的其他服务。
[0032] 车辆31的HMI 202可指的是用户(例如,驾驶员)用于与车辆31进行交互的界面。HMI 202界面可包括有助于在用户与VCS 1之间进行通信的各种类型的输入和输出。作为一些示例,HMI 202可包括显示器4或车辆31的其他显示器、一组预设按钮、媒体按钮(向前/向后、音量增大/减小以及播放/暂停)、其他应用或与系统相关联的菜单项、以及应用或系统分配的语音命令。
[0033] 移动应用204可被配置为由移动装置53来执行,并经由车辆31的HMI 202与用户进行交互。作为一示例,移动装置53上的音乐播放器应用204可与VCS 1进行交互,以通过VCS 1的扬声器13或立体声系统输出来提供流媒体音乐。作为另一示例,在移动装置53上的导航应用204可与VCS 1进行交互,以提供通过VCS 1的屏幕4进行显示的逐向导航。
[0034] 为了利用HMI 202,移动应用204可被配置为通过VCS 1与移动装置53之间的连接206来与VCS 1进行通信。连接206可包括VCS 1与移动装置53之间的各种有线和无线的数据连接,其中,可通过所述数据连接传输移动应用204数据。作为一示例,连接206可包括VCS 1的蓝牙收发器15与移动装置53的蓝牙模块之间的蓝牙连接206。此外或可选地,连接206可包括对VCS 1的USB输入23与连接到移动装置53的USB连接之间的USB连接206。
[0035] 为了有助于在VCS 1与应用代理208之间交换数据和信息,移动装置53可载有被配置为管理VCS 1的移动网关与移动装置53的移动应用204之间的连接206的应用代理208中介。应用代理208可被配置为处理连接206的自动化生命周期管理(诸如,VCS 1与移动装置53之间的连接206的握手、连接管理和其他方面)。
[0036] 移动应用204可通过将应用代理208的对象实例化来使用应用代理208的自动化生命周期管理功能。一旦应用代理208被实例化,移动代理208就可被配置为代表移动应用204来管理VCS 1连接206的生命周期。因此,移动应用204可实现对应用代理208的回调(callback)接口,以允许移动应用204监视和响应与连接206相关的事件,而不需要移动应用204自己来执行所有的握手和连接管理任务。
[0037] 在示例中,应用代理208对象可被配置为公开一个或更多个构造函数(constructor)以用于实例化。通过使用对象构造函数,移动应用204可将信息传递给应用代理208,从而应用代理208可使用所述信息代表移动应用204来在VCS 1中注册界面。例如,当通过构造函数来构建应用代理208实例时,移动应用204可提供:移动应用204的名称、表明移动应用204是否为媒体移动应用204的指示和应用代理208监听器回调接口的实现。应用代理208监听器回调接口(有时也被称作移动应用204的代理监听器)可被配置为作为当VCS 1向移动应用204发送响应和通知时接收回调的对象。
[0038] 代理监听器可包括由VCS 1调用的远程处理调用通知功能,以传达关于车辆31的HMI 202的状态的信息。移动应用204可利用该通知功能来确定移动应用204的HMI级别(即,移动应用204是否正以激活状态向驾驶员显示信息)和音频流状态(即,移动应用204是否可向驾驶员流传输音频)。然后,移动应用204可使用该信息以允许移动应用204确定可以经由应用代理208调用哪些远程处理调用(例如,车辆31的HMI 202的哪些方面当前被允许由移动应用204使用)。
[0039] 例如,HMI级别 可包括:“FULL(完全 )”级别、“LIMITED(受限)”级 别、“BACKGROUND(背景)”级别和“NONE(不)”级别。在“FULL”级别下,移动应用204能够对VCS 1的HMI 202进行完全访问。当移动应用204被移动到焦点位置时,诸如当用户从列出可用移动应用的HMI 202的菜单中选择移动应用204时,或者当VCS 1将注意力转回到移动应用时(例如,在完成经由车辆31的HMI 202的电话呼叫(所述电话呼叫临时中断了移动应用204的使用)之后),移动应用204可从代理监听器接收“FULL”级别的HMI级别通知。
[0040] 在“LIMITED”级别下,移动应用204能够对VCS 1的HMI 202进行部分访问。当移动应用204能够执行特定功能而需要对HMI 202进行部分访问的另一功能(诸如,导航功能)目前处于活动状态时,移动应用204可从代理监听器接收“LIMITED”级别的HMI级别通知。
[0041] 在“BACKGROUND”级别下,移动应用204可不再作为VCS 1的HMI 202的当前焦点应用,但仍可作为次级处理而处在活动状态。由于另一移动应用204或其他VCS 1应用打开为焦点或前台应用,或者响应于用户发起的事件(诸如,用户切换当前活动的应用204),移动应用204可从代理监听器接收“BACKGROUND”级别的HMI级别通知。当在“BACKGROUND”级别下时,由于另一应用处在前台,用户可能不能直接与移动应用204进行交互(例如,一键通(PTT)发起的语音命令和针对应用的菜单命令可能不可用),且移动应用204可能不能直接经由车辆31的HMI 202与用户进行交互。
[0042] 在“NONE”级别下,移动应用204可能已经注册了它的用户界面,但可能不能经由VCS 1执行任何动作。应注意,当由于具有“FULL”或“LIMITED”级别的HMI级别的移动应用204转换为“BACKGROUND”或“NONE”级别(例如,取消正在进行的交互或取消PTT语音识别场景等)而不再作为焦点时,由移动应用204启动的操作可以被自动终止。
[0043] 关于音频流状态,HMI状态通知还可被配置为通知移动应用204存在移动应用204能够通过车辆31的音频总线对音频进行流传输的可能性。例如,这些音频流状态可包括“AUDIBLE(可听)”状态和“NOT AUDIBLE(不可听)”状态,其中,在“AUDIBLE”状态下,用户可以通过VCS 1收听当前从应用204流传输的音频(如果存在的话),在“NOT AUDIBLE”状态下,用户不能通过VCS 1收听当前从应用204流传输的音频(如果存在的话)。
[0044] 当VCS 1与移动装置53经由连接206进行连接(且指示的HMI级别提供通信)时,应用代理208可被配置为:为移动应用204与VCS 1进行的消息传送提供通道。这些消息可包括(但不限于)命令和控制信息以及其他程序数据。为了实现消息传送,应用代理208可支持诸如远程处理调用和回调(例如,经由代理监听器)的技术,以在移动应用204与VCS 1之间提供各种类型的通信。作为一些示例,移动应用204可利用应用代理208经由连接206与VCS 1进行通信,以执行以下操作,诸如:在VCS 1的HMI上显示文本或其他用户界面内容、从VCS 1的用户接收命令输入(例如,关于经由PTT的口语语音命令的指示、关于对车辆31的HMI 202的按钮按压输入或触摸输入的指示)以及发送或接收指示异步操作完成的信息。
[0045] 移动应用204可被配置为只要移动应用204需要连接206就维持应用代理208对象。例如,移动应用204可被配置为:当移动应用204不再需要与VCS 1进行进一步通信时,或者,当移动应用204识别出发生了不可恢复的错误时,移动应用204去除和丢弃应用代理208。否则,移动应用204可被配置为保留应用代理208对象以管理诸如在应用代理208的生命周期期间可能发生的到VCS 1的连接和随后的从VCS 1的断开。下面针对图3更详细地讨论由应用代理208执行的生命周期管理的其他方面。
[0046] 图3示出用于提供对在VCS 1与移动应用204之间的连接206的自动化生命周期管理的示例性处理300。处理300可由与车辆31通信的移动装置53的一个或更多个处理器执行的移动应用204和应用代理208对象来执行。在处理300开始处,移动应用204可被配置为在移动装置53连接到VCS 1时(诸如,通过在装置启动时在后台中创建应用代理208)将应用代理208实例化。
[0047] 在方框302,移动装置53接收对可用移动应用204的VCS 1查询。例如,VCS 1可对当前连接的移动装置53执行服务发现协议(SDP)查询,以查询具有与能够连接到VCS 1的那些移动应用204相关联的特定服务类的通用唯一标识符(UUID)的端点。移动装置53的应用代理208可利用移动应用204的列表来对VCS 1做出响应,并可作为响应而接收对那些被发现的端点的射频通信(RFCOMM)开放连接请求。如果移动应用204接受了连接请求,则移动应用204可被要求在接收到所述请求的预定时间段内(例如,在20秒内)调用VCS 1的注册功能。成功地在VCS 1中注册的移动应用204可随后出现在VCS 1的用于由用户进行选择的移动应用菜单或其它HMI上。应注意,应用代理208实例的创建使移动应用204能够被VCS 1发现并调用,但应用代理208实例的创建不表示移动应用204立即连接到VCS 1。
[0048] 在方框304,移动应用204从VCS 1接收将HMI状态设置为“NONE”级别的回调通知。例如,在移动应用204的代理监听器在VCS 1中成功地注册之后,VCS 1可通过连接206发送指示“NONE”HMI状态的HMI状态回调消息。移动应用204可相应地经由应用代理208接收“NONE”级别回调通知。当在“NONE”HMI状态级别下时,可能可以从VCS 1的移动应用204菜单中使用移动应用204;然而,因为用户不知道移动应用204的存在且尚未(例如,经由移动应用菜单)选择调用移动应用204,所以移动应用204不能发出请求(即,消耗系统资源)。
[0049] 在方框306,VCS 1接收用户对移动应用204的选择。例如,用户可从移动应用菜单中选择运行移动应用204。当接收到来自用户的指示时,VCS 1确定用户已经选择了使用移动应用204,并可授权移动应用204访问系统资源(例如,移动应用204此时可向VCS 1发出请求)。因此,VCS 1可响应于车辆31中的用户交互来发起到移动应用204的初始连接。
[0050] 在方框308,移动应用204从VCS 1接收将HMI状态设置为“FULL”的回调通知。当移动应用204接收到HMI状态为“FULL”的通知时,移动应用204可开始向VCS 1发送请求。此外,当初始化移动应用204时,移动应用204可被配置为执行特定初始任务(诸如,注册由VCS 1的HMI 202识别的语音命令、同意从HMI 202的按钮接收输入、建立用于解释移动应用204的功能的帮助提示等)。这些任务可仅在移动应用204首次被启动或首次被推送作为焦点应用204时被要求执行,而不是例如在移动应用204在VCS 1上重获焦点或重获前台状态时被要求执行。为了处理初始化,移动应用204可相应地保存首次运行设置(例如,当布尔变量被初始化为真),并可在移动应用204第一次接收到将HMI状态设置为“FULL”的通知时执行初始化代码,并进一步调整首次运行设置(例如,将布尔变量设置为假)。
[0051] 在方框310,移动应用204通过连接206与VCS 1进行交互。例如,移动应用204可利用应用代理208访问VCS 1的HMI 202以执行应用功能(诸如,向用户显示文本、接收诸如语音命令和按钮按压的输入以及向用户提供音频输出)。因此,尽管移动应用204可由移动装置53来执行,但是移动应用204可利用应用代理208来与VCS 1交换程序数据以及命令和控制信息。移动应用204可持续与VCS 1进行交互,直到一个或更多个可能的事件发生(诸如,移动应用204请求从VCS 1断开连接、另一应用代替移动应用204作为前台应用、或者用户明确地对移动应用204执行退出操作时)时为止。
[0052] 在方框312,移动应用204从VCS 1断开连接。存在可以使移动应用204从VCS 1断开连接的各种方式。例如,移动应用204可请求应用代理208重新设置代理并从VCS 1断开连接。作为另一示例,移动应用204可调用应用代理208的去除方法。作为另一示例,VCS 1与移动应用204之间的连接206可被预期地断开或非预期地断开(例如,移动装置53与车辆31之间的距离超出范围等)。作为另一示例,应用代理208可能遇到在没有移动应用204的介入时无法被解决的不可恢复的错误。
[0053] 在方框314,移动应用204经由代理监听器的代理关闭回调来接收向移动应用204指示移动应用204已断开连接的通知。例如,响应于针对应用代理208重新设置代理并从VCS 1断开连接的请求,应用代理208可相应地断开任何存在的与VCS 1的连接206,去除与连接206相关的所有临时资源并对应用代理208本身重新进行初始化。一旦重新初始化完成,应用代理208可被配置为接受来自VCS 1的新的连接206。
[0054] 作为另一示例,响应于移动应用204调用应用代理208的去除方法,应用代理208可永久地断开任何存在的与VCS 1的连接206,并去除所有资源。此时,可丢弃应用代理208对象。新的应用代理208对象将需要在与VCS 1的进一步通信可发生之前被实例化。
[0055] 作为另一示例,响应于VCS 1与移动应用204之间的连接206丢失,可经由代理监听器的代理关闭回调通知移动应用204,并且移动应用204可继续监视新的VCS 1连接206。
[0056] 作为另一示例,响应于应用代理208遇到在没有移动应用204的介入时无法被解决的不可恢复的错误,可同样地经由代理关闭回调通知移动应用204。此时,应用代理208对象应被去除和丢弃,且新的应用代理208对象应被实例化以恢复与VCS 1的通信。
[0057] 在方框314之后,控制转到方框302以执行应用代理的重新初始化。
[0058] 在方框316,移动应用204接收退出或停止HMI操作的指示。例如,用户可经由HMI202的菜单来选择“Exit(退出<应用_名称>)”(其中,VCS 1根据移动应用
204在VCS 1中的注册来识别app_name),或者用户可说出请求退出移动应用204的一键通命令。通过该动作,用户可选择不再使用移动应用204。
[0059] 在方框318,移动装置53从VCS 1接收将HMI状态设置为“NONE”的回调通知。因此,移动应用204不可以再经由连接206向VCS 1发送请求。然而,移动应用204在VCS 1中的注册(例如,按钮订阅、显示状态、自定义提示、交互选择设置和命令)可由VCS 1保留用于后续使用。
[0060] 在方框320,与关于方框306的上述讨论类似,VCS 1再次接收用户对移动应用204的选择。例如,用户可再次从移动应用菜单中选择运行移动应用204。当从用户接收到该指示时,VCS 1可确定用户再次选择了使用移动应用204。
[0061] 在方框322,与关于方框308的上述讨论类似,移动装置53从VCS 1接收将HMI状态设置为“FULL”的回调通知。当移动应用204接收到HMI状态为“FULL”的通知时,移动应用204可开始向VCS 1发送请求。由于移动应用204在VCS 1中的注册可被VCS 1保留,所以可以不需要执行首次运行设置。例如,移动应用204可根据首次运行设置相应地确定无需执行初始化代码。在方框322之后,控制转到方框310。
[0062] 在方框324,移动应用204接收另一应用变为VCS 1的前台应用的指示。例如,用户可从HMI 202的移动应用菜单中选择另一移动应用204,或者可说出请求调用另一移动应用204的一键通命令。
[0063] 在方框326,移动装置53从VCS 1接收将HMI状态设置为“LIMITED”或“BACKGROUND”的回调通知。在“LIMITED”级别下,移动应用204能够对VCS 1的HMI 202进行部分访问,诸如当VCS 1的导航功能是活动的另一应用。在“BACKGROUND”级别下,移动应用204可能不再是VCS 1的HMI 202的当前焦点应用,但可能仍作为次级进程而处于活动状态。作为次级进程,移动应用204可访问HMI 202功能的子集,诸如可以访问流音频功能而不可以访问显示器4。在方框326之后,如果VCS 1接收到用户对移动应用204的选择,则控制转到方框320。
[0064] 因此,通过使用应用代理208,移动应用204能够简化其对VCS 1的连接206和VCS1的HMI 202的处理,并确保应用代理208对移动应用204到VCS 1的连接206所需的必要设置、定时和维护操作进行处理。通过使用由应用代理208提供给移动应用204的HMI状态的回调通知,移动应用204可相应地由移动装置53来执行,但是以安全、不分散注意力且稳定的方式通过车辆31的HMI 202呈现用户界面。
[0065] 虽然以上描述了示例性实施例,但这些实施例并不意在描述本发明的所有可能形式。相反地,说明书中所使用的词语是描述性词语而非限制,并且应理解的是,可在不脱离本发明的精神和范围的情况下做出各种改变。此外,可将各种实现实施例的特征进行组合以形成本发明的进一步的实施例。
QQ群二维码
意见反馈