多屏应用交互调度方法、装置、设备及介质与流程
未命名
10-08
阅读:104
评论:0

1.本技术涉及智能汽车显示技术领域,尤其涉及一种多屏应用交互调度方法、装置、设备及介质。
背景技术:
2.随着科技的发展,车辆能够实现的功能越来越多,车辆也越来越智能。车辆中安装有屏幕,用户可以在屏幕上进行操作,实现对车辆的控制,还可以通过屏幕观看视频、玩游戏等。
3.现有技术中,车辆中会配置多个屏幕,每个屏幕有独立的处理器和操作系统,每个屏幕之间的运行情况也是相互独立的。而为了减小成本,出现了一芯多屏的情况,也就是多个屏幕共同使用一个处理器和一个操作系统的情况,但是在这种情况下如何进行应用交互,还没有一种很好的方法。
4.所以,亟需一种多屏应用交互调度方法能够实现在一芯多屏的情况下进行应用交互。
技术实现要素:
5.本技术实施例提供一种多屏应用交互调度方法、装置、设备及介质,用于解决现有的应用交互调度方法无法解决在一芯多屏的情况下进行应用交互调度的问题。
6.第一方面,本技术实施例提供一种多屏应用交互调度方法,应用于操作系统中的动态page管理服务dpms,所述方法包括:
7.接收应用打开请求,所述应用打开请求包括目标应用标识;
8.根据所述应用打开请求,确定目标逻辑屏标识,并确定目标栈标识;
9.在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,生成所述目标应用标识对应的第一应用实例;
10.调整所述第一栈列表中栈和应用实例的顺序,得到第二栈列表;
11.调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态;
12.将所述目标栈标识,所述第一应用实例和所述第二应用实例的实例标识和调整后的运行状态发送至窗口管理服务wms,所述第一应用实例的实例标识携带显示标志。
13.在一种具体实施方式中,所述根据所述应用打开请求,确定目标逻辑屏标识,包括:
14.若所述应用打开请求中包括逻辑屏标识,将所述应用打开请求中包括的逻辑屏标识作为所述目标逻辑屏标识;
15.若所述应用打开请求中不包括逻辑屏标识,则判断所述目标应用标识对应的预设应用配置信息中是否包括逻辑屏标识;
16.若所述预设应用配置信息中包括逻辑屏标识,将所述预设应用配置信息中包括的
逻辑屏标识作为所述目标逻辑屏标识;
17.若所述预设应用配置信息中不包括所述逻辑屏标识,则判断发送所述应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;
18.若所述第三应用实例运行在逻辑屏标识对应的栈列表的栈中,将所述逻辑屏标识作为所述目标逻辑屏标识;
19.若所述第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,将预设逻辑屏标识作为所述目标逻辑屏标识。
20.在一种具体实施方式中,所述确定目标栈标识,包括:
21.若所述应用打开请求中包括栈标识,将所述应用打开请求中包括的栈标识作为所述目标栈标识;
22.若所述应用打开请求中不包括栈标识,则判断发送所述应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;
23.若所述第三应用实例运行在逻辑屏标识对应的栈列表的栈中,将运行所述第三应用实例的栈的栈标识作为所述目标栈标识;
24.若所述第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,将所述目标逻辑屏标识对应的预设栈标识作为所述目标栈标识。
25.在一种具体实施方式中,在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,所述生成所述目标应用标识对应的第一应用实例,包括:
26.若所述第一应用实例未被创建,则创建所述第一应用实例;
27.若所述第一应用实例已被创建,且运行所述第一应用实例的栈与所述第一栈列表中的所述目标栈标识对应的栈不相同,则将所述第一应用实例从所述运行所述第一应用实例的栈中,转移至所述第一栈列表中的所述目标栈标识对应的栈中。
28.在一种具体实施方式中,创建所述第一应用实例之后,所述方法还包括:
29.将所述第一应用实例的运行状态设置为创建状态。
30.在一种具体实施方式中,所述调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态,包括:
31.将所述第一应用实例的运行状态调整为前台非交互状态;
32.若运行所述第一应用实例的栈的类型为全屏栈,则将所述第二应用实例的运行状态调整为隐藏状态;
33.若运行所述第一应用实例的栈的类型为小窗栈,且运行所述第二应用实例的栈的类型为全屏栈,则将所述第二应用实例的运行状态调整为前台非交互状态;
34.若运行所述第一应用实例和所述第二应用实例的栈的类型均为小窗栈,且运行所述第一应用实例和所述第二应用实例的栈为同一个栈,则将所述第二应用实例的运行状态调整为隐藏状态;
35.若运行所述第一应用实例和所述第二应用实例的栈的类型均为小窗栈,且运行所述第一应用实例和所述第二应用实例的栈为不同的栈,则将所述第二应用实例的运行状态调整为前台非交互状态。
36.在一种具体实施方式中,所述方法还包括:
37.接收所述wms发送的显示成功消息,所述显示成功消息用于指示需要显示的应用
实例的界面已成功显示在物理显示屏上;
38.将所述第一应用实例的运行状态调整为前台交互状态。
39.在一种具体实施方式中,所述方法还包括:
40.接收应用退出请求,所述应用退出请求包括退出应用标识、退出结果标识,所述退出结果标识用于指示退出至桌面或退出至上一应用;
41.根据运行所述退出应用标识对应的第四应用实例的第一栈是否存在对应的第一退出联动标识,以及包括所述第一栈的第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识,确定出至少一个目标退出应用标识,所述目标退出应用标识包括所述退出应用标识;
42.对于每个目标退出应用标识,根据所述退出结果标识,从包括所述目标退出应用标识对应的应用实例的栈列表中,确定出待显示应用实例,并调整所述栈列表中栈和应用实例的顺序,得到第四栈列表;
43.调整每个待显示应用实例、每个目标退出应用标识对应的应用实例的运行状态;
44.将每个待显示应用实例的实例标识和调整后的运行状态,每个目标退出应用标识,每个目标退出应用标识对应的应用实例的调整后的运行状态发送至所述wms,每个待显示应用实例的实例标识携带所述显示标志。
45.在一种具体实施方式中,所述根据运行所述退出应用标识对应的第四应用实例的第一栈是否存在对应的第一退出联动标识,以及包括所述第一栈的第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识,确定出至少一个目标退出应用标识,包括:
46.判断所述第一栈是否存在对应的所述第一退出联动标识;
47.若所述第一栈存在对应的所述第一退出联动标识,则判断所述第一退出联动标识对应的栈的数量是否大于1;
48.若所述第一退出联动标识对应的栈的数量大于1,则确定出运行在所述第一退出联动标识对应的栈中的第五应用实例,并将每个第五应用实例对应的应用标识,确定为所述目标退出应用标识;
49.若所述第一退出联动标识对应的栈的数量等于1,则将所述第四应用实例对应的应用标识,确定为所述目标退出应用标识;
50.若所述第一栈不存在对应的所述第一退出联动标识,则判断所述第三栈列表对应的逻辑屏标识是否存在对应的所述第二退出联动标识;
51.若所述第三栈列表对应的逻辑屏标识存在对应的所述第二退出联动标识,则判断所述第二退出联动标识对应的逻辑屏标识的数量是否大于1;
52.若所述第二退出联动标识对应的逻辑屏标识的数量大于1,则确定出运行在所述第二退出联动标识对应的每个逻辑屏标识、每个逻辑屏标识对应的栈列表的中的第一个应用实例,并将所述第一个应用实例对应的应用标识,确定为所述目标退出应用标识;
53.若所述第二退出联动标识对应的逻辑屏标识的数量等于1,则将所述第四应用实例对应的应用标识,确定为所述目标退出应用标识;
54.若所述第三栈列表对应的逻辑屏标识不存在对应的所述第二退出联动标识,则将所述第四应用实例对应的应用标识,确定为所述目标退出应用标识。
55.在一种具体实施方式中,所述根据所述退出结果标识,从包括所述目标退出应用
标识对应的应用实例的栈列表中,确定出待显示应用实例,并调整所述栈列表中栈和应用实例的顺序,得到第四栈列表,包括:
56.若所述退出结果标识指示退出至桌面,对于包括所述目标退出应用标识对应的应用实例的栈列表,将所述栈列表中桌面应用实例确定为待显示应用实例,并将所述待显示应用实例对应的栈调整至所述栈列表中第一位,并将所述待显示应用实例调整至所述待显示应用实例对应的栈中的第一位,得到所述第四栈列表;
57.若所述退出结果标识指示退出至上一应用,对于包括所述目标退出应用标识对应的应用实例的栈列表,则从应用打开记录中获取所述目标退出应用标识的前一应用标识;
58.将所述栈列表中所述前一应用标识对应的应用实例确定为待显示应用实例,并将所述待显示应用实例对应的栈调整于所述栈列表中第一位,并将所述待显示应用实例调整至所述待显示应用实例对应的栈中第一位,得到所述第四栈列表。
59.在一种具体实施方式中,所述调整每个待显示应用实例、每个目标退出应用标识对应的应用实例的运行状态,包括:
60.将每个目标退出应用标识对应的应用实例的运行状态调整为隐藏状态;
61.将每个待显示应用实例的运行状态调整为前台非交互状态。
62.在一种具体实施方式中,所述方法还包括:
63.接收所述wms发送的显示成功消息和隐藏成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏;
64.将每个待显示应用实例的运行状态调整为前台交互状态。
65.在一种具体实施方式中,所述方法还包括:
66.接收应用移屏请求,所述移屏请求包括移屏应用标识、移屏后逻辑屏标识、移屏目标栈标识;
67.调整所述移屏应用标识对应的第六应用实例、所述移屏后逻辑屏标识对应的第五栈列表中运行状态为前台交互状态的第七应用实例的运行状态;
68.将所述第六应用实例,从运行所述第六应用实例的第二栈中,转移至所述第五栈列表中的所述移屏目标栈标识对应的栈中;
69.调整转移应用实例后的第五栈列表中栈和应用实例的顺序,得到第六栈列表;
70.将包括所述第二栈的第七栈列表中第一个应用实例的运行状态调整为前台非交互状态;
71.将所述移屏目标栈标识、所述移屏应用标识、所述第六应用实例的调整后的运行状态、所述第七应用实例的实例标识和调整后的运行状态发送至所述wms,所述移屏应用标识携带所述显示标志。
72.在一种具体实施方式中,所述调整所述移屏应用标识对应的第六应用实例、所述移屏后逻辑屏标识对应的第五栈列表中运行状态为前台交互状态的第七应用实例的运行状态,包括:
73.将所述第六应用实例的运行状态调整为前台非交互状态;
74.若运行所述第六应用实例的栈的类型为全屏栈,则将所述第七应用实例的运行状态调整为隐藏状态;
75.若运行所述第六应用实例的栈的类型为小窗栈,且运行所述第七应用实例的栈的类型为全屏栈,则将所述第七应用实例的运行状态调整为前台非交互状态;
76.若运行所述第六应用实例和所述第七应用实例的栈的类型均为小窗栈,且所述移屏目标栈标识对应的栈与运行所述第七应用实例的栈为同一个栈,则将所述第七应用实例的运行状态调整为隐藏状态;
77.若运行所述第六应用实例和所述第七应用实例的栈的类型均为小窗栈,且所述移屏目标栈标识对应的栈与运行所述第七应用实例的栈为不同的栈,则将所述第七应用实例的运行状态调整为前台非交互状态。
78.在一种具体实施方式中,所述方法还包括:
79.接收所述wms发送的显示成功消息、隐藏成功消息和移屏完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移屏完成消息用于指示移屏已完成;
80.将所述第七栈列表中第一个应用实例的运行状态调整为前台交互状态,将所述第六应用实例的运行状态调整为前台交互状态。
81.在一种具体实施方式中,所述方法还包括:
82.接收同屏移小窗请求,所述同屏移小窗包括小窗应用标识、移动目标栈标识;
83.根据所述小窗应用标识对应的第八应用实例,移动至包括所述第八应用实例的第八栈列表中所述移动目标栈标识对应的栈中;
84.调整移动应用实例后的第八栈列表中栈和应用实例的顺序,得到第九栈列表;
85.调整所述第八应用实例、所述第九栈列表中运行状态为前台交互状态的第九应用实例的运行状态;
86.将所述移动目标栈标识、所述小窗应用标识、所述第八应用实例的调整后的运行状态、所述第九应用实例的实例标识和调整后的运行状态发送至所述wms,所述小窗应用标识携带所述显示标志。
87.在一种具体实施方式中,所述调整所述第八应用实例、所述第九栈列表中运行状态为前台交互状态的第九应用实例的运行状态,包括:
88.将所述第八应用实例的运行状态调整为前台非交互状态;
89.若所述移动目标栈标识对应的栈与运行所述第九应用实例的栈为同一个栈,则将所述第九应用实例的运行状态调整为隐藏状态;
90.若所述移动目标栈标识对应的栈与运行所述第九应用实例的栈为不同的栈,则将所述第九应用实例的运行状态调整为前台非交互状态。
91.在一种具体实施方式中,所述方法还包括:
92.接收所述wms发送的显示成功消息、隐藏成功消息和移动完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移动完成消息用于指示小窗移动已完成;
93.将所述第八应用实例的运行状态调整为前台交互状态。
94.第二方面,本技术实施例提供一种多屏应用交互调度方法,应用于操作系统中的窗口管理服务wms,所述方法包括:
95.接收动态page管理服务dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态,所述第一应用实例的实例标识携带显示标志;
96.根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表;
97.根据所述第二显示栈列表,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。
98.在一种具体实施方式中,所述根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表,包括:
99.根据所述显示标志,确定出所述第一应用实例的实例标识;
100.将所述第一应用实例的实例标识,存入所述第一显示栈列表中的所述目标栈标识对应的栈中,并将所述第一显示栈列表中所述第二应用实例的实例标识对应的原始运行状态,更新为所述第二应用实例的运行状态;
101.调整所述第一显示栈列表中实例标识的顺序,得到所述第二显示栈列表。
102.在一种具体实施方式中,所述根据所述第二显示栈列表,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面,包括:
103.根据所述第二显示栈列表中实例标识对应的运行状态、预设层级、排列顺序,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。
104.在一种具体实施方式中,所述方法还包括:
105.向所述dpms发送显示成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上。
106.在一种具体实施方式中,所述方法还包括:
107.接收所述dpms发送的多个待显示应用实例的实例标识和运行状态,和多个目标退出应用标识,每个目标退出应用标识对应的应用实例的运行状态,每个待显示应用实例的实例标识携带所述显示标志;
108.根据每个待显示应用实例的实例标识和运行状态、每个目标退出应用标识、每个目标退出应用标识对应的应用实例的运行状态,每个显示标志,对每个包括待显示应用实例的实例标识的第三显示栈列表进行调整,得到第四显示栈列表;
109.对于每个第四显示栈列表,确定出所述第四显示栈列表中包括目标退出应用标识的栈的第一栈标识,在所述第一栈标识对应的物理显示屏中显示所述第四显示栈列表中实例标识对应的应用实例的界面。
110.在一种具体实施方式中,所述根据每个待显示应用实例的实例标识和运行状态、每个目标退出应用标识、每个目标退出应用标识对应的应用实例的运行状态,每个显示标志,对每个包括待显示应用实例的实例标识的第三显示栈列表进行调整,得到第四显示栈列表,包括:
111.对于每个显示标记,确实携带所述显示标记的待显示应用实例的实例标识;
112.确定出包括所述实例标识的第三显示栈列表,将所述第三显示栈列表中的目标退
出应用标识对应的原始运行状态,更新为所述目标退出应用标识对应的应用实例的运行状态,并将所述待显示应用实例的实例标识对应的原始运行状态,更新为所述待显示应用实例的运行状态;
113.调整所述第三显示列表中实例标识的顺序,得到所述第四显示栈列表。
114.在一种具体实施方式中,所述方法还包括:
115.向所述dpms发送显示成功消息和隐藏成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏。
116.在一种具体实施方式中,所述方法还包括:
117.接收所述dpms发送的移屏目标栈标识、移屏应用标识、所述移屏应用标识对应的第六应用实例的运行状态、第七应用实例的实例标识和运行状态,所述移屏应用标识携带所述显示标志;
118.根据所述移屏目标栈标识、所述移屏应用标识、所述第六应用实例的运行状态、所述第七应用实例的实例标识和运行状态,所述显示标志,对包括所述第七应用实例的实例标识的第五显示栈列表进行调整,得到第六显示栈列表,并对包括所述移屏应用标识的第七显示栈列表进行调整,得到第八显示栈列表;
119.根据所述第六显示栈列表,在所述移屏目标栈标识对应的物理显示屏中显示所述第六显示栈列表中实例标识对应的应用实例的界面,并确定出所述第八显示栈列表中任意一个栈的第二栈标识,在所述第二栈标识对应的物理显示屏中显示所述第八显示栈列表中实例标识对应的应用实例的界面。
120.在一种具体实施方式中,所述根据所述移屏目标栈标识、所述移屏应用标识、所述第六应用实例的运行状态、所述第七应用实例的实例标识和运行状态,所述显示标志,对包括所述第七应用实例的实例标识的第五显示栈列表进行调整,得到第六显示栈列表,并对包括所述移屏应用标识的第七显示栈列表进行调整,得到第八显示栈列表,包括:
121.根据所述显示标志,确定出所述移屏应用标识;
122.将所述第七显示栈列表中所述移屏应用标识对应的原始运行状态,更新为所述第六应用实例的运行状态,并将所述第五显示栈列表中所述第七应用实例的实例标识对应的原始运行状态,更新为所述第七应用实例的运行状态;
123.将所述移屏应用标识,从所述第七显示栈列表中取出,得到所述第八显示栈列表,并将所述第八显示栈列表中第一个实例标识的原始运行状态调整为前台非交互状态;
124.将所述移屏应用标识转移至所述第五显示栈列表中的所述移屏目标栈标识对应的栈中,并调整转移实例标识后的第五显示栈列表中应用实例的顺序,得到所述第六显示栈列表。
125.在一种具体实施方式中,所述方法还包括:
126.向所述dpms发送显示成功消息、隐藏成功消息和移屏完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移屏完成消息用于指示移屏已完成。
127.在一种具体实施方式中,所述方法还包括:
128.接收所述dpms发送的移动目标栈标识、小窗应用标识、所述小窗应用标识对应的
第八应用实例的运行状态、第九应用实例的实例标识和运行状态,所述小窗应用标识携带所述显示标志;
129.根据所述移动目标栈标识、所述小窗应用标识、所述第八应用实例的运行状态、所述第九应用实例的实例标识和运行状态,所述显示标志,对包括所述第九应用实例的实例标识的第九显示栈列表进行调整,得到第十显示栈列表;
130.根据所述第十显示栈列表,在所述移动目标栈标识对应的物理显示屏中显示所述第十显示栈列表中实例标识对应的应用实例的界面。
131.在一种具体实施方式中,所述根据所述移动目标栈标识、所述小窗应用标识、所述第八应用实例的运行状态、所述第九应用实例的实例标识和运行状态,所述显示标志,对包括所述第九应用实例的实例标识的第九显示栈列表进行调整,得到第十显示栈列表,包括:
132.根据所述显示标志,确定出所述小窗应用标识;
133.将所述小窗应用标识对应的原始运行状态,更新为所述第八应用实例的运行状态,并将所述第九应用实例的实例标识对应的原始运行状态,更新为所述第九应用实例的运行状态;
134.将所述小窗应用标识转移至所述第九显示栈列表中的所述移动目标栈标识对应的栈中,并调整转移实例标识后的第九显示栈列表中应用实例的顺序,得到所述第十显示栈列表。
135.在一种具体实施方式中,所述方法还包括:
136.向所述dpms发送显示成功消息、隐藏成功消息和移动完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移动完成消息用于指示小窗移动已完成。
137.第三方面,本技术实施例提供一种多屏应用交互调度装置,包括:
138.接收模块,用于接收应用打开请求,所述应用打开请求包括目标应用标识;
139.处理模块,用于:
140.确定目标逻辑屏标识,并确定目标栈标识;
141.在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,生成所述目标应用标识对应的第一应用实例;
142.调整所述第一栈列表中栈和应用实例的顺序,得到第二栈列表;
143.调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态;
144.发送模块,用于将所述目标栈标识,所述第一应用实例和所述第二应用实例的实例标识和调整后的运行状态发送至窗口管理服务wms,所述第一应用实例的实例标识携带显示标志。
145.第四方面,本技术实施例提供一种应用交互调度装置,包括:
146.接收模块,用于接收动态page管理服务dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态,所述第一应用实例的实例标识携带显示标志;
147.处理模块,用于根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表;
148.显示模块,根据所述第二显示栈列表,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。
149.第五方面,本技术实施例提供一种电子设备,包括:
150.处理器,存储器,通信接口;
151.所述存储器用于存储所述处理器的可执行指令;
152.其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的多屏应用交互调度方法。
153.第六方面,本技术实施例提供一种电子设备,包括:
154.处理器,存储器,通信接口,多个显示器;
155.所述存储器用于存储所述处理器的可执行指令;
156.其中,所述处理器配置为经由执行所述可执行指令来执行第二方面任一项所述的多屏应用交互调度方法。
157.第七方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面任一项所述的多屏应用交互调度方法。
158.第八方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面或第二方面任一项所述的多屏应用交互调度方法。
159.本技术实施例提供的多屏应用交互调度方法、装置、设备及介质,通过在操作系统中的动态page管理服务(dynamic page manager service,简称:dpms)接收到应用打开请求后,确定出目标逻辑屏标识和目标栈标识,进而在目标逻辑屏标识对应的栈列表中的目标栈标识对应的栈中,生成第一应用实例;进而调整栈列表中栈和应用实例的顺序,以及调整第一应用实例、运行状态为前台交互状态的第二应用实例的运行状态,进而将目标栈标识,第一应用实例和第二应用实例的实例标识和调整后的运行状态发送至窗口管理服务(window manager service,简称:wms)。wms根据这些数据对显示栈列表进行调整,进而根据调整后的显示栈列表,在目标栈标识对应的物理显示屏中应用实例对应的界面。本方案通过确定出目标逻辑屏标识,在栈列表中的栈中生成应用实例,以及调整栈和应用实例的顺序,以及应用实例的运行状态,使得wms可确定出在哪个物理显示屏上显示,以及如何显示应用实例的界面,实现了在一芯多屏的情况下进行多屏应用交互。
附图说明
160.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
161.图1为本技术提供的操作系统框架示意图;
162.图2为本技术提供的应用实例的运行状态转换示意图;
163.图3a为本技术提供的栈列表示意图;
164.图3b为本技术提供的逻辑屏与物理显示屏的对应关系图;
165.图4a为本技术提供的多屏应用交互调度方法实施例一的流程示意图;
166.图4b为本技术提供的调整栈列表顺序示意图;
167.图5为本技术提供的多屏应用交互调度方法实施例二的流程示意图;
168.图6为本技术提供的多屏应用交互调度方法实施例三的流程示意图;
169.图7为本技术提供的多屏应用交互调度方法实施例四的流程示意图;
170.图8为本技术提供的多屏应用交互调度方法实施例五的流程示意图;
171.图9a为本技术提供的多屏应用交互调度方法实施例六的流程示意图;
172.图9b为本技术提供的小窗栈与退出联动标识的对应关系图;
173.图9c为本技术提供的栈列表与退出联动标识的对应关系图;
174.图10为本技术提供的多屏应用交互调度方法实施例七的流程示意图;
175.图11a为本技术提供的多屏应用交互调度方法实施例八的流程示意图;
176.图11b为本技术提供的移屏示意图;
177.图12为本技术提供的多屏应用交互调度方法实施例九的流程示意图;
178.图13a为本技术提供的多屏应用交互调度方法实施例十的流程示意图;
179.图13b为本技术提供的移小窗栈示意图;
180.图14为本技术提供的多屏应用交互调度方法实施例十一的流程示意图;
181.图15为本技术提供的多屏应用交互调度装置实施例一的结构示意图;
182.图16为本技术提供的多屏应用交互调度装置实施例二的结构示意图;
183.图17为本技术提供的一种电子设备的结构示意图一;
184.图18为本技术提供的一种电子设备的结构示意图二。
具体实施方式
185.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在根据本实施例的启示下作出的所有其他实施例,都属于本技术保护的范围。
186.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
187.随着科技的发展,车辆能够实现的功能越来越多,车辆也越来越智能。车辆中安装有屏幕,用户可以在屏幕上进行操作,实现对车辆的控制,还可以通过屏幕观看视频、玩游戏等。
188.近年来车载座舱内屏幕类型及数量越来越多,车载操作系统逐渐往安全性、舒适性、娱乐性升级,因此多屏交互成为了未来汽车系统设计的一种趋势。现有技术中,车辆中会配置多个屏幕,每个屏幕有独立的处理器和操作系统,每个屏幕之间的运行情况也是相互独立的。而为了减小成本,出现了一芯多屏的情况,也就是多个屏幕共同使用一个处理器和一个操作系统的情况,但是对于如何进行多屏应用交互,还没有一种很好的方法。
189.所以,亟需一种多屏应用交互调度方法能够实现在一芯多屏的情况下进行应用交互。
190.针对现有技术中存在的问题,发明人在对多屏应用交互调度方法进行研究的过程中发现,可设置多个逻辑屏,逻辑屏与物理显示屏对应,逻辑屏包括栈列表,栈列表中的栈中运行应用实例;在进行交互时,可在栈中生成应用实例,或者转移应用实例,进而调整应用实例和栈的顺序,调整应用实例的运行状态,将这些调整的数据发生至wms。wms根据相关数据调整显示栈列表,进而在目标栈标识对应的物理显示屏中应用实例对应的界面,完成多屏交互。在操作系统中的动态page管理服务(dynamic page manager service,简称:dpms)接收到应用打开请求后,确定出目标逻辑屏标识和目标栈标识,进而在目标逻辑屏标识对应的栈列表中的目标栈标识对应的栈中,生成应用实例;进而调整栈列表中栈和应用实例的顺序,以及调整该应用实例的运行状态,进而将调整后的相关数据发送至窗口管理服务(window manager service,简称:wms)。wms根据相关数据调整显示栈列表,进而在目标栈标识对应的物理显示屏中应用实例对应的界面,实现了在一芯多屏的情况下进行多屏应用交互。基于上述发明构思,设计了本技术中的多屏应用交互调度方案。
191.示例性的,图1为本技术提供的操作系统框架示意图,如图1所示,下面对本技术中操作系统的框架进行说明。
192.该操作系统包括应用(page)、进程管理服务、静态page管理服务(static page manager service,简称:spms)、dpms和wms。
193.page是对本地服务和远程服务的抽象,也即应用服务的基本单元,通过对数据和方法的封装,可以提供各种服务。一个page可以是桌面服务、拍照、音乐等服务,也可以是后台服务,如账户认证、数据处理等。运行态page称为应用实例,是本地服务或远程服务的运行载体,可由dpms创建。操作系统还为page提供应用运行的基本元素,包括时间循环(looper)、上下文(context)、静态资源(resource)、caf ui框架、agil渲染引擎以及pagewindow窗口操作等。
194.dpms主要负责对不同粒度运行容器的管理、应用生命周期管理、应用异常监测,page在多屏多窗间的状态管理、以及和wms间的应用状态同步管理。
195.spms主要负责page包的安装、更新、卸载等功能。
196.进程管理服务负责page进程的管理。
197.wms负责page窗口的显示隐藏、多图层合成以及切换动画。
198.page之间通过pagelink进行通信。
199.示例性的,图2为本技术提供的应用实例的运行状态转换示意图,每个应用实例在创建后都会有运行状态,运行状态在相应的条件下会进行转换,如图2所示,应用实例的运行状态包括创建状态(started)、前台非交互状态(inactive)、前台交互状态(active)、隐藏状态(hidden)、停止状态(stopped)。
200.其中,前台非交互状态和前台交互状态表示应用在前台运行;隐藏状态和创建状态表示应用实例在后台运行。
201.创建状态表示应用实例被创建,在应用实例被创建后首先进入创建状态。停止状态下的应用实例不能够与其他应用实例进行通信。隐藏状态下的应用实例能够在后台运行,对于用户来说不可见。前台非交互状态下的应用实例对于用户来说可见,但是不可与用
户交互。前台交互状态下的应用实例对用户来说可见,并且可以与用户交互。创建状态、前台非交互状态、前台交互状态、隐藏状态下的应用实例之间能够通信。
202.在创建状态下的应用实例接收到onshow消息后,转换为前台非交互状态;在创建状态下的应用实例在接收到onstop消息后,转换为停止状态。
203.在前台非交互状态下的应用实例接收到onactive消息后,转换为前台交互状态;在前台非交互状态下的应用实例在接收到onhide消息后,转换为隐藏状态。
204.在前台交互状态下的应用实例接收到oninactive消息后,转换为前台非交互状态。
205.在隐藏状态下的应用实例接收到onshow消息后,转换为前台非交互状态;在隐藏状态下的应用实例在接收到onstop消息后,转换为停止状态。
206.在停止状态下的应用实例接收到onstart消息后,转换为创建状态。
207.示例性的,图3a为本技术提供的栈列表示意图。在本技术中,应用实例可运行在栈列表中的栈中,如图3a所示,栈列表中包括栈(stack),栈中包括任务(task)、任务中包括应用实例。
208.一个栈列表相当于一个逻辑屏,对应一个逻辑屏标识,一个逻辑屏可对应一个物理显示屏中的部分位置,也就是将该逻辑屏对应的栈列表中的应用实例的界面显示在该物理显示屏中的部分位置;一个逻辑屏还可对应多个物理显示屏,也就是将该逻辑屏对应的栈列表中的应用实例的界面显示在多个物理显示屏上,多个物理显示屏进行组合形成一个界面。示例性的,图3b为本技术提供的逻辑屏与物理显示屏的对应关系图,如图3b所示,图中展示了三种对应关系,第一种为:逻辑屏1对应物理显示屏1中的部分位置;第二种为:逻辑屏2对应整个物理显示屏2;第三种为:逻辑屏3对应物理显示屏3和物理显示屏4。
209.栈列表中包括至少一个栈,每个栈中包括至少一个任务,每个任务中包括至少一个应用实例。栈列表、栈、任务是应用实例的不同粒度的应用运行容器。
210.栈还可分为全屏栈和小窗栈,全屏栈中的应用实例的界面在显示时,进行全屏显示;小窗栈中还存储有位置信息,小窗栈中的应用实例的界面在显示时,在位置信息对应的位置进行显示。
211.栈还可分为桌面栈、系统图标栈、应用栈,其中桌面栈和系统图标栈属于全屏栈,应用栈可以是全屏栈,也可以是小窗栈。桌面栈中的应用实例为桌面应用实例。
212.不同的应用实例可在不同的栈列表中的栈中运行,不同栈之间独立,一个栈列表出现故障,不会影响其他栈列表,所以可提高操作系统的稳定性。
213.下面对本技术提供的多屏应用交互调度方法的应用场景进行示例说明。
214.示例性的,在该应用场景中,用户驾驶车辆行驶在道路上,车辆中还有乘坐在副驾驶的乘客,车辆中安装有多个物理显示屏,主驾驶和副驾驶前有对应的物理显示屏,多个物理显示屏是使用一个处理器和一个操作系统,也就是属于一芯多屏的情况。
215.在车辆行驶过程中,乘客想要听歌,用户使用语音说出“我想在副驾驶听歌”的语音指令。
216.操作系统中的语音应用实例,生成应用打开请求,进而通过pagelink,将应用打开请求发送至dpms。
217.dpms接收到应用打开请求后,由于用户指定音乐应用程序的界面需要显示在哪个
物理显示屏上,所以可确定出目标逻辑屏是乘客面前的物理显示屏对应的逻辑屏,目标逻辑屏标识为该逻辑屏的标识,目标栈标识为预设逻辑屏标识。
218.进而在目标逻辑屏标识对应的第一栈列表中的目标栈标识对应的栈中,生成目标应用标识对应的第一应用实例,由于音乐应用程序是车辆上电后首次启动,所以是需要创建第一应用实例。第一应用实例是音乐应用程序的应用实例。
219.进而调整第一栈列表中栈和应用实例的顺序,得到第二栈列表,进而调整第一应用实例、第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态。
220.再将目标栈标识,第一应用实例和第二应用实例的实例标识和调整后的运行状态发送至wms,第一应用实例的实例标识携带显示标志。
221.wms根据目标栈标识、第一应用实例和第二应用实例的实例标识和运行状态、显示标志,对包括第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表;进而根据第二显示栈列表,在目标栈标识对应的物理显示屏中显示第二显示栈列表中实例标识对应的应用实例的界面,完成本次应用交互。
222.为了使得可与乘客进行交互,wms向dpms发送显示成功消息,触发dpms将第一应用实例的运行状态调整为前台交互状态。
223.此时第一应用实例对应的界面显示在乘客面前的物理显示屏,并且显示在最上层,乘客可进行交互,选择自己想要听的歌曲。
224.需要说明的是,上述场景仅是本技术实施例提供的一种应用场景的示例,本技术实施例不对该场景中包括的各种设备的实际形态进行限定,在方案的具体应用中,可以根据实际需求设定。
225.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
226.图4a为本技术提供的多屏应用交互调度方法实施例一的流程示意图,本技术实施例对dpms接收到应用打开请求后,在栈列表中生成应用实例,并调整栈和应用实例顺序,再将调整的相关数据发送至wms;进而wms根据相关数据进行界面的显示的情况进行说明。本实施例中的方法可以通过软件、硬件或者软硬件结合的方式来实现。如图4a所示,该多屏应用交互调度方法具体包括以下步骤:
227.s401:dpms接收应用打开请求。
228.用户可通过点击物理显示屏上显示的应用图标、说出语音指令、点击物理按键、做出手势等实现打开应用,对应的应用实例会生成应用打开请求,并将应用打开请求通过pagelink发送至dpms;或者应用实例还可以无需用户的参与,在需要打开应用时,直接生成应用打开请求,并将应用打开请求通过pagelink发送至dpms。
229.在本步骤中,应用实例通过pagelink将应用打开请求发送至dpms后,dpms即可接收到应用打开请求,应用打开请求包括目标应用标识。
230.需要说明的是,dpms还可向发送应用打开请求的应用实例发送请求接收成功消息。
231.s402:dpms根据应用打开请求,确定目标逻辑屏标识,并确定目标栈标识。
232.在本步骤中,dpms在接收到应用打开请求后,为了确定出需要显示在哪个物理显
示屏上,以及如何进行显示,就需要确定出目标逻辑屏标识和目标栈标识。可根据应用打开请求中、预设应用配置信息中是否包括逻辑屏标识,以及发送应用打开请求的应用实例是否运行在逻辑屏标识对应的栈列表的栈中,确定目标逻辑屏标识。可根据应用打开请求中是否包括栈标识,以及发送应用打开请求的应用实例是否运行在逻辑屏标识对应的栈列表的栈中,确定目标栈标识。
233.s403:dpms在目标逻辑屏标识对应的第一栈列表中的目标栈标识对应的栈中,生成目标应用标识对应的第一应用实例。
234.在本步骤中,dpms在确定出目标逻辑屏标识和目标栈标识后,还需要在目标逻辑屏标识对应的第一栈列表中的目标栈标识对应的栈中,生成目标应用标识对应的第一应用实例。
235.具体地,若第一应用实例未被创建,说明该应用是在车辆上电后首次打开,则创建第一应用实例;进而将第一应用实例的运行状态设置为创建状态。
236.若第一应用实例已被创建,说明该应用不是在车辆上电后首次打开,且在运行第一应用实例的栈与第一栈列表中的目标栈标识对应的栈不相同时,则将第一应用实例从运行第一应用实例的栈中,转移至第一栈列表中的目标栈标识对应的栈中。若第一应用实例已被创建,且运行第一应用实例的栈与第一栈列表中的目标栈标识对应的栈相同,则不需要生成第一应用实例,也就是不需要移栈。
237.s404:dpms调整第一栈列表中栈和应用实例的顺序,得到第二栈列表。
238.在本步骤中,dpms在生成第一应用实例后,由于在显示应用实例时需要应用实例的顺序,所以需要调整第一栈列表中栈和应用实例的顺序,得到第二栈列表。
239.首先将目标栈标识对应的栈放置在第一栈列表的第一位,其他栈按照原本顺序,在目标栈标识对应的栈后依次排列;进而对于目标栈标识对应的栈中的应用实例,将第一应用实例放在第一位,其他应用实例按照原来顺序,在第一应用实例后依次排列,其他栈中的应用实例的顺序不变,即可得到第二栈列表。
240.示例性的,图4b为本技术提供的调整栈列表顺序示意图,如图4b所示,第一栈列表中包括2个栈,分别为stack1和stack2,其中stack2为目标栈标识对应的栈,stack1中包括task1,task1中包括应用实例1;stack2中包括task2,task2中包括3个应用实例,分别为应用实例2、应用实例3和应用实例4,其中应用实例3为第一应用实例;所以将stack2放置在第一栈列表的第一位,stack1在stack2后;将应用实例3放在第一位,后面应用实例2、应用实例4依次排列,得到第二栈列表。
241.s405:dpms调整第一应用实例、第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态。
242.在本步骤中,dpms在生成第一应用实例后,由于在显示应用实例时还需要应用实例的运行状态,所以需要调整第一应用实例、第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态。
243.将第一应用实例的运行状态调整为前台非交互状态。
244.若运行第一应用实例的栈的类型为全屏栈,则将第二应用实例的运行状态调整为隐藏状态;
245.若运行第一应用实例的栈的类型为小窗栈,且运行第二应用实例的栈的类型为全
屏栈,则将第二应用实例的运行状态调整为前台非交互状态;
246.若运行第一应用实例和第二应用实例的栈的类型均为小窗栈,且运行第一应用实例和第二应用实例的栈为同一个栈,则将第二应用实例的运行状态调整为隐藏状态;
247.若运行第一应用实例和第二应用实例的栈的类型均为小窗栈,且运行第一应用实例和第二应用实例的栈为不同的栈,则将第二应用实例的运行状态调整为前台非交互状态。此时可将与第一应用实例在同一个栈内的其他应用实例的运行状态调整为隐藏状态。
248.需要说明的是,在图2的基础上,dpms可向应用实例发送相应的消息,来实现应用实例的运行状态的调整。应用实例转换运行状态后,还可向dpms发送转换成功消息。
249.需要说明的是,步骤s404与步骤s405的执行顺序,可以是先执行步骤s404,再执行步骤s405;还可以是先执行步骤s405,再执行步骤s404;还可以是步骤s404与步骤s405同时执行,本技术实施例不对步骤s404与步骤s405的执行顺序进行限定,可根据实际情况进行设置。
250.s406:dpms将目标栈标识,第一应用实例和第二应用实例的实例标识和调整后的运行状态发送至wms。
251.在本步骤中,dpms在调整完栈和应用实例的顺序、第一应用实例、第二应用实例的运行状态后,由于实现显示界面的功能是wms实现的,所以需要将目标栈标识,第一应用实例和第二应用实例的实例标识和调整后的运行状态发送至wms。其中,第一应用实例的实例标识携带显示标志。
252.需要说明的是,dpms还可将目标应用标识存储至应用打开记录中,应用打开记录中存储的应用标识是按照存储时间排序的,存储时间越早,在应用打开记录中的位置越靠前。
253.需要说明的是,若第二应用实例的调整后的运行状态为隐藏状态,向wms发送的第二应用实例的实例标识,还需要携带隐藏标志。
254.s407:wms接收到dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态后,对包括第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表。
255.在本步骤中,dpms将目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态发送至wms后,wms即可接收到dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态。其中,第一应用实例的实例标识携带显示标志。
256.进而根据目标栈标识、第一应用实例和第二应用实例的实例标识和运行状态、显示标志,对包括第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表。第一显示栈列表包括第一栈列表中所有应用实例的实例标识。
257.具体的,根据显示标志,确定出第一应用实例的实例标识。由于wms接收到的实例标识有第一应用实例和第二应用实例的实例标识,而且第一应用实例的实例标识携带显示标志,后续需要使用第一应用实例的实例标识,所以需要将其确定出来,就可根据显示标志,确定出第一应用实例的实例标识。
258.进而将第一应用实例的实例标识,存入第一显示栈列表中的目标栈标识对应的栈中,并将第一显示栈列表中第二应用实例的实例标识对应的原始运行状态,更新为第二应用实例的运行状态。
259.需要说明的是,若在生成第一应用实例时,第一应用实例已被创建,则此时将第一应用实例的实例标识,转移至目标栈标识对应的栈中。
260.再调整第一显示栈列表中实例标识的顺序,得到第二显示栈列表。首先将目标栈标识对应的栈放置在第一显示栈列表的第一位,其他栈按照原本顺序,在目标栈标识对应的栈后依次排列;进而对于目标栈标识对应的栈中的实例标识,将第一应用实例的实例标识放在第一位,其他应用实例按照原来顺序,在第一应用实例的实例标识后依次排列,其他栈中的实例标识的顺序不变,即可得到第二显示栈列表。
261.s408:wms根据第二显示栈列表,在目标栈屏标识对应的物理显示屏中显示第二显示栈列表中实例标识对应的应用实例的界面。
262.在本步骤中,wms得到第二显示栈列表后,可根据第二显示栈列表,在目标栈标识对应的物理显示屏中显示第二显示栈列表中实例标识对应的应用实例的界面,完成本次应用交互。
263.具体地,根据第二显示栈列表中实例标识对应的的运行状态、预设层级、排列顺序,在目标栈标识对应的物理显示屏中显示第二显示栈列表中实例标识对应的应用实例的界面。
264.首先将第二显示栈列表中运行状态为前台非交互状态或前台交互状态的实例标识确定出来,进而按照预设层级进行分组,每组实例标识的预设层级相同,预设层级表示显示在物理显示屏上顺序,预设层级越高,越靠近物理显示屏外侧。进而按照层级从高到低的顺序,对每组实例标识进行排序,再对于每组实例标识,按照第二显示栈列表中实例标识的顺序,将其中的应实例标识进行排序,得到排序后的实例标识。进而排序后的实例标识的顺序,将实例标识对应应用实例的界面进行排列,按照排列顺序在目标栈标识对应的物理显示屏中显示。
265.需要说明的是,由于物理屏标识与显示栈列表中的每个栈的栈标识有对应关系,所以可根据栈标识确定出物理屏标识,也就是可确定出对应的物理屏。一个显示栈列表中的栈的栈标识对应同一个物理屏标识,该物理屏标识可对应一个物理显示屏中的部分位置,或者对应一整个物理显示屏,或者对应多个物理显示屏。显示栈列表中的栈,可分为全屏栈和小窗栈,全屏栈中的应用实例标识对应的应用实例的界面在显示时,进行全屏显示;小窗栈中还存储有位置信息,小窗栈中的应用实例标识对应的应用实例的界面在显示时,在位置信息对应的位置进行显示。
266.本实施例提供的多屏应用交互调度方法,通过在dpms接收到应用打开请求后,确定出目标逻辑屏标识和目标栈标识,进而在目标逻辑屏标识对应的栈列表中的目标栈标识对应的栈中,生成应用实例;进而调整栈列表中栈和应用实例的顺序,以及调整应用实例的运行状态,进而将调整的相关数据发送至wms。wms根据相关数据调整显示栈列表,进而在目标栈标识对应的物理显示屏中应用实例对应的界面,完成交互。相较于现有技术在一芯多屏的情况下无法实现多屏显示,本方案通过确定出目标逻辑屏标识,在栈列表中的栈中生成应用实例,以及调整栈和应用实例的顺序,以及应用实例的运行状态,使得wms可确定出在哪个物理显示屏上显示,以及如何显示应用实例的界面,实现了在一芯多屏的情况下进行多屏应用交互。
267.图5为本技术提供的多屏应用交互调度方法实施例二的流程示意图,在上述实施
例的基础上,本技术实施例对dpms确定目标逻辑屏标识的情况进行说明。如图5所示,该多屏应用交互调度方法具体包括以下步骤:
268.s501:判断应用打开请求中是否包括逻辑屏标识;若应用打开请求中包括逻辑屏标识,则执行步骤s502;若应用打开请求中不包括逻辑屏标识,则执行步骤s503。
269.在本步骤中,dpms接收到应用打开请求后,为了确定出目标逻辑屏标识,首先判断应用打开请求中是否包括逻辑屏标识。由于在打开应用时,在一些情况下应用打开请求中会包括逻辑屏标识,比如:用户通过语音指令“在副驾驶打开音乐”,打开音乐应用,语音应用实例即可确定出对应的逻辑屏标识,生成的应用打开请求中也包括逻辑屏标识。所以需要先判断应用打开请求中是否包括逻辑屏标识。
270.s502:将应用打开请求中包括的逻辑屏标识作为目标逻辑屏标识。
271.在本步骤中,若应用打开请求中包括逻辑屏标识,将应用打开请求中包括的逻辑屏标识作为目标逻辑屏标识。
272.s503:判断目标应用标识对应的预设应用配置信息中是否包括逻辑屏标识;若预设应用配置信息中包括逻辑屏标识,则执行步骤s504;若预设应用配置信息中不包括逻辑屏标识,则执行步骤s505。
273.在本步骤中,应用打开请求中不包括逻辑屏标识,还需要继续判断目标应用标识对应的预设应用配置信息中是否包括逻辑屏标识。有些应用实例是工作人员设置需要显示在哪个物理显示屏上的,所以会将对应的逻辑屏标识设置在预设应用配置信息中。所以需要判断目标应用标识对应的预设应用配置信息中是否包括逻辑屏标识。
274.s504:将预设应用配置信息中包括的逻辑屏标识作为目标逻辑屏标识。
275.在本步骤中,若预设应用配置信息中包括逻辑屏标识,将预设应用配置信息中包括的逻辑屏标识作为目标逻辑屏标识。
276.s505:判断发送应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;若第三应用实例运行在逻辑屏标识对应的栈列表的栈中,则执行步骤s506;若第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,则执行步骤s507。
277.在本步骤中,若预设应用配置信息中不包括逻辑屏标识,由于应用打开请求可能是运行在逻辑屏标识对应的栈列表的栈中第三应用实例发送的,这种应用实例一般都是可以显示在物理显示屏上的,并且是在与用户交互才发送的应用打开请求,所以为了用户能够直接在这块物理显示屏上与第一应用实例继续交互,则需要判断发送应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中。
278.s506:将逻辑屏标识作为目标逻辑屏标识。
279.在本步骤中,若第三应用实例运行在逻辑屏标识对应的栈列表的栈中,为了用户能够直接在这块物理显示屏上与第一应用实例继续交互,则将第三应用实例对应的逻辑屏标识作为目标逻辑屏标识。
280.s507:将预设逻辑屏标识作为目标逻辑屏标识。
281.在本步骤中,若第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,说明不是用户使用物理显示屏进行交互来触发发送应用打开请求,将预设逻辑屏标识作为目标逻辑屏标识即可。
282.本实施例提供的多屏应用交互调度方法,通过判断应用打开请求中、预设应用配
置信息中是否包括逻辑屏标识,以及发送应用打开请求的应用实例是否运行在逻辑屏标识对应的栈列表的栈中,确定目标逻辑屏标识,使得目标逻辑屏标识确定的更加准确,更加符合用户需求,提高了用户体验。
283.图6为本技术提供的多屏应用交互调度方法实施例三的流程示意图,在上述实施例的基础上,本技术实施例对dpms确定目标栈标识的情况进行说明。如图6所示,该多屏应用交互调度方法具体包括以下步骤:
284.s601:判断应用打开请求中是否包括栈标识;若应用打开请求中包括栈标识,则执行步骤s602;若应用打开请求中不包括栈标识,则执行步骤s603。
285.在本步骤中,dpms接收到应用打开请求后,为了确定出目标栈标识,首先判断应用打开请求中是否包括栈标识。由于栈分为全屏栈和小窗栈,小窗栈中存储有位置信息,小窗栈中的应用实例的界面在显示时,进行在位置信息对应的位置进行显示,所以在打开应用时,在一些情况下应用打开请求中会包括栈标识,比如:用户通过语音指令“在副驾驶的屏幕左上角打开音乐”,打开音乐应用,语音应用实例即可确定出对应的栈标识,生成的应用打开请求中也包括栈标识。所以需要先判断应用打开请求中是否包括栈标识。
286.s602:将应用打开请求中包括的栈标识作为目标栈标识。
287.在本步骤中,若应用打开请求中包括栈标识,说明已指定想要的栈,则将应用打开请求中包括是栈标识作为目标栈标识。
288.s603:判断发送应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;若第三应用实例运行在逻辑屏标识对应的栈列表的栈中,则执行步骤s604;若第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,则执行步骤s605。
289.在本步骤中,若应用打开请求中不包括栈标识,由于应用打开请求可能是运行在逻辑屏标识对应的栈列表的栈中第三应用实例发送的,这种应用实例一般都是可以显示在物理显示屏上的,并且是在与用户交互才发送的应用打开请求,所以为了用户能够直接在这块物理显示屏上与第一应用实例继续交互,则需要判断发送应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中。
290.s604:将运行第三应用实例的栈的栈标识作为目标栈标识。
291.在本步骤中,若第三应用实例运行在逻辑屏标识对应的栈列表的栈中,了用户能够直接在这块物理显示屏上与第一应用实例继续交互,则将运行第三应用实例的栈的栈标识作为目标栈标识。
292.s605:将目标逻辑屏标识对应的预设栈标识作为目标栈标识。
293.在本步骤中,若第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,说明不是用户使用物理显示屏进行交互来触发发送应用打开请求,将目标逻辑屏标识对应的预设栈标识作为目标栈标识即可。
294.本实施例提供的多屏应用交互调度方法,通过判断应用打开请求中是否包括栈标识,以及发送应用打开请求的应用实例是否运行在逻辑屏标识对应的栈列表的栈中,确定目标栈标识,使得目标栈标识确定的更加准确,更加符合用户需求,提高了用户体验。
295.图7为本技术提供的多屏应用交互调度方法实施例四的流程示意图,在上述实施例的基础上,本技术实施例对应用打开、物理显示屏显示应用实例界面后,为了能够与用户交互,调整应用实例的运行状态的情况进行说明。
296.如图7所示,该多屏应用交互调度方法具体包括以下步骤:
297.s701:wms向dpms发送显示成功消息。
298.在本步骤中,wms显示应用实例对应的界面后,由于还需要使得第一应用实例可以与用户进行交互,需要向dpms发送显示成功消息,以便dpms接收显示成功消息触发调整应用实例的运行状态。显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上。
299.需要说明的是,若第二应用实例的运行状态为隐藏状态,还需要发送隐藏成功消息,隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏。
300.s702:dpms接收到wms发送的显示成功消息后,将第一应用实例的运行状态调整为前台交互状态。
301.在本步骤中,dpms接收到wms发送的显示成功消息后,为了使得第一应用实例能够与用户进行交互,将第一应用实例的运行状态调整为前台交互状态。可向第一应用实例发送onactive消息,第一应用实例即可将其运行状态转换为前台交互状态。
302.需要说明的是,第一应用实例转换运行状态后,还可向dpms发送转换成功消息。
303.本实施例提供的多屏应用交互调度方法,通过对于第一栈列表的栈中运行状态为前台交互状态的应用实例,将其运行状态调整为前台非交互状态,再将第一应用实例的运行状态调整为前台交互状态,可实现第一应用实例能够与用户进交互,保证了多屏应用交互的正常运行。
304.图8为本技术提供的多屏应用交互调度方法实施例五的流程示意图,在上述实施例的基础上,本技术实施例对退出应用的情况进行说明。如图8所示,该多屏应用交互调度方法具体包括以下步骤:
305.s801:dpms接收应用退出请求。
306.用户可通过点击物理显示屏上显示的退出按钮、说出语音指令、点击物理按键、做出手势等实现退出应用,对应的应用实例会生成应用退出请求,并将应用退出请求通过backpage发送至dpms;或者应用实例还可以无需用户的参与,在需要退出应用时,直接生成应用退出请求,并将应用退出请求通过backpage发送至dpms。
307.在本步骤中,应用实例通过backpage将应用退出请求发送至dpms后,dpms即可接收到应用退出请求,应用退出请求包括退出应用标识、退出结果标识,退出结果标识用于指示退出至桌面或退出至上一应用。
308.需要说明的是,dpms还可向发送应用退出请求的应用实例发送请求接收成功消息。
309.s802:dpms根据运行退出应用标识对应的第四应用实例的第一栈是否存在对应的第一退出联动标识,以及包括第一栈的第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识,确定出至少一个目标退出应用标识。
310.在本步骤中,dpms接收到应用退出请求后,由于一些应用是需要联动退出的,所以还需要确定出需要退出的应用都有哪些,这就需要根据运行退出应用标识对应的第四应用实例的第一栈是否存在对应的第一退出联动标识,以及包括第一栈的第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识,确定出至少一个目标退出应用标识,目标退出应用标识包括退出应用标识。
311.s803:dpms对于每个目标退出应用标识,根据退出结果标识,从包括所标退出应用标识对应的应用实例的栈列表中,确定出待显示应用实例,并调整栈列表中栈和应用实例的顺序,得到第四栈列表。
312.在本步骤中,dpms确定出目标退出应用标识后,由于退出后的物理显示屏的界面需要发生变化,所以需要调整栈列表,这就需要根对于每个目标退出应用标识,根据退出结果标识,从包括所标退出应用标识对应的应用实例的栈列表中,确定出待显示应用实例,并调整栈列表中栈和应用实例的顺序,得到第四栈列表。
313.具体地,若退出结果标识指示退出至桌面,对于包括目标退出应用标识对应的应用实例的栈列表,将栈列表中桌面应用实例确定为待显示应用实例,并将待显示应用实例对应的栈调整至栈列表中第一位,其他栈按照原本顺序,在待显示应用实例对应的栈后依次排列,并将待显示应用实例调整至待显示应用实例对应的栈中的第一位,其他应用实例按照原来顺序,在待显示应用实例后依次排列,得到第四栈列表;
314.若退出结果标识指示退出至上一应用,对于包括目标退出应用标识对应的应用实例的栈列表,则从应用打开记录中获取目标退出应用标识的前一应用标识;
315.将栈列表中前一应用标识对应的应用实例确定为待显示应用实例,并将待显示应用实例对应的栈调整于栈列表中第一位,其他栈按照原本顺序,在待显示应用实例对应的栈后依次排列,并将待显示应用实例调整至待显示应用实例对应的栈中第一位,其他应用实例按照原来顺序,在待显示应用实例后依次排列,得到第四栈列表。
316.s804:dpms调整每个待显示应用实例、每个目标退出应用标识对应的应用实例的运行状态。
317.在本步骤中,dpms得到第四栈列表后,由于退出后的物理显示屏的界面需要发生变化,所以需要调整每个待显示应用实例、每个目标退出应用标识对应的应用实例的运行状态。
318.将每个目标退出应用标识对应的应用实例的运行状态调整为隐藏状态;
319.将每个待显示应用实例的运行状态调整为前台非交互状态。
320.需要说明的是,在图2的基础上,dpms可向应用实例发送相应的消息,来实现应用实例的运行状态的调整。应用实例转换运行状态后,还可向dpms发送转换成功消息。
321.需要说明的是,步骤s803与步骤s804的执行顺序,可以是先执行步骤s803,再执行步骤s804;还可以是先执行步骤s804,再执行步骤s803;还可以是步骤s803与步骤s804同时执行,本技术实施例不对步骤s803与步骤804的执行顺序进行限定,可根据实际情况进行设置。
322.s805:dpms将每个待显示应用实例的实例标识和调整后的运行状态,每个目标退出应用标识,每个目标退出应用标识对应的应用实例的调整后的运行状态发送至wms。
323.在本步骤中,dpms调整应用实例的运行状态,以及调整栈和应用实例的顺序得到第四栈列表后,由于实现显示界面的功能是wms实现的,所以需要将每个待显示应用实例的实例标识和调整后的运行状态,每个目标退出应用标识,每个目标退出应用标识对应的应用实例的调整后的运行状态发送至wms,其中,每个待显示应用实例的实例标识携带显示标志。
324.需要说明的是,每个退出应用标识还可以携带隐藏标志。
325.s806:wms接收到dpms发送的多个待显示应用实例的实例标识和运行状态,和多个目标退出应用标识,每个目标退出应用标识对应的应用实例的运行状态后,对每个包括待显示应用实例的实例标识的第三显示栈列表进行调整,得到第四显示栈列表。
326.在本步骤中,dpms将多个待显示应用实例的实例标识和运行状态,和多个目标退出应用标识,每个目标退出应用标识对应的应用实例的运行状态发送至wms后,wms即可接收到这些数据,其中,每个待显示应用实例的实例标识携带显示标志。
327.进而根据每个待显示应用实例的实例标识和运行状态、每个目标退出应用标识、每个目标退出应用标识对应的应用实例的运行状态,每个显示标志,对每个包括待显示应用实例的实例标识的第三显示栈列表进行调整,得到第四显示栈列表;每个退出逻辑屏标识对应的第三显示栈列表包括退出逻辑屏标识对应的第四栈列表中所有应用实例的实例标识。
328.具体的,对于每个显示标记,确实携带显示标记的待显示应用实例的实例标识;由于wms接收到的实例标识有多个待显示应用实例和多个目标退出应用标识,而且每个待显示应用实例的实例标识携带显示标志,后续需要使用待显示应用实例的实例标识,所以需要将其确定出来,就可根据显示标志,确定出待显示应用实例的实例标识。
329.确定出包括该实例标识的第三显示栈列表,将第三显示栈列表中的目标退出应用标识对应的原始运行状态,更新为目标退出应用标识对应的应用实例的运行状态,并将待显示应用实例的实例标识对应的原始运行状态,更新为待显示应用实例的运行状态;
330.调整第三显示列表中实例标识的顺序,得到第四显示栈列表。将待显示应用实例的实例标识对应的栈调整于第三显示栈列表中第一位,其他栈按照原本顺序,在待显示应用实例的实例标识对应的栈后依次排列,并将待待显示应用实例的实例标识调整至待显示应用实例的实例标识对应的栈中第一位,其他应用实例按照原来顺序,在待显示应用实例的实例标识后依次排列,得到第四显示栈列表。
331.s807:wms对于每个第四显示栈列表,确定出该第四显示栈列表中包括目标退出应用标识的栈的第一栈标识,在第一栈标识对应的物理显示屏中显示第四显示栈列表中实例标识对应的应用实例的界面。
332.在本步骤中,wms得到第四显示栈列表后,进而对于每个第四栈列表,确定出该第四显示栈列表中包括目标退出应用标识的栈的第一栈标识,在第一栈标识对应的物理显示屏中显示第四显示栈列表中实例标识对应的应用实例的界面,完成应用本次交互。
333.需要说明的是,本步骤中显示界面的方式与实施例一中的步骤s408类似,此处不再进行赘述。
334.本实施例提供的多屏应用交互调度方法,通过在dpms接收到应用退出请求后,确定出目标退出应用标识,进而调整每个目标退出应用标识对应的栈列表中栈和应用实例的顺序,以及调整目标退出应用标识对应的应用实例的运行状态,再将调整的相关数据发送至wms。wms根据相关数据确定出第四显示栈列表,进而根据第四显示栈列表进行显示。实现了在一芯多屏的情况下实现应用退出,还可以实现多个应用联动退出。
335.图9a为本技术提供的多屏应用交互调度方法实施例六的流程示意图,在上述实施例的基础上,本技术实施例对在应用退出的过程中,确定目标退出应用标识的情况进行说明。如图9a所示,该多屏应用交互调度方法具体包括以下步骤:
336.s901:判断第一栈是否存在对应的第一退出联动标识;若第一栈存在对应的第一退出联动标识,则执行步骤s902;若第一栈不存在对应的第一退出联动标识,则执行步骤s904。
337.栈分为全屏栈和小窗栈,对于小窗栈,工作人员会配置对应的退出联动标识,一个退出联动标识对应至少一个小窗栈,同一个退出联动标识对应的小窗栈中的应用实例,会在退出时同时退出。示例性的,图9b为本技术提供的小窗栈与退出联动标识的对应关系图,如图9b所示,图中存在两个退出联动标识,分别为退出联动标识1和退出联动标识2;还存在四个小窗栈,分别为stack1、stack2、stack3、stack4;退出联动标识1只有一个对应的小窗栈,为stack1;退出联动标识2有三个对应的小窗栈,为stack2、stack3、stack4。
338.对于栈列表对应的逻辑屏标识,工作人员会对部分栈列表对应的逻辑屏标识配置对应的退出联动标识,一个退出联动标识对应至少一个逻辑屏标识,对于同一个退出联动标识对应的逻辑屏标识,这些逻辑屏标识对应的栈列表中的第一个应用实例,会在退出时同时退出。示例性的,图9c为本技术提供的逻辑屏标识与退出联动标识的对应关系图,如图9c所示,图中存在两个退出联动标识,分别为退出联动标识3和退出联动标识4;还存在三个栈列表,分别为逻辑屏标识1、逻辑屏标识2、逻辑屏标识3;退出联动标识3只有一个对应的逻辑屏标识,为逻辑屏标识1;退出联动标识4有两个对应的逻辑屏标识,为逻辑屏标识2、逻辑屏标识3。
339.在本步骤中,为了确定出需要同时退出的应用实例的目标退出应用标识,首先需要判断第一栈是否存在对应的第一退出联动标识。
340.s902:判断第一退出联动标识对应的栈的数量是否大于1;若第一退出联动标识对应的栈的数量大于1,则执行步骤s903;若第一退出联动标识对应的栈的数量等于1,则执行步骤s907。
341.在本步骤中,若第一栈存在对应的第一退出联动标识,说明第一栈为小窗栈,进一步为了确定出是否有其他应用实例需要同时退出,需要判断第一退出联动标识对应的栈的数量是否大于1。
342.s903:确定出运行在第一退出联动标识对应的栈中的第五应用实例,并将每个第五应用实例对应的应用标识,确定为目标退出应用标识。
343.在本步骤中,若第一退出联动标识对应的栈的数量大于1,说明存在其他应用实例需要同时退出,则确定出运行在第一退出联动标识对应的栈中的第五应用实例,并将每个第五应用实例对应的应用标识,确定为目标退出应用标识。
344.s904:判断第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识;若第三栈列表对应的逻辑屏标识存在对应的第二退出联动标识,则执行步骤s905;若第三栈列表对应的逻辑屏标识不存在对应的第二退出联动标识,则执行步骤s907。
345.在本步骤中,若第一栈不存在对应的第一退出联动标识,说明第一栈不是小窗栈,进而为了确定出是否有需要同时退出的应用实例,首先需要判断第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识。
346.s905:判断第二退出联动标识对应的逻辑屏标识的数量是否大于1;若第二退出联动标识对应的逻辑屏标识的数量大于1,则执行步骤s906;若第二退出联动标识对应的逻辑屏标识的数量等于1,则执行步骤s907。
347.在本步骤中,若第三栈列表对应的逻辑屏标识存在对应的第二退出联动标识,还需要判断第二退出联动标识对应的逻辑屏标识的数量是否大于1。
348.s906:确定出运行在第二退出联动标识对应的每个逻辑屏标识、每个逻辑屏标识对应的栈列表的中的第一个应用实例,并将第一个应用实例对应的应用标识,确定为目标退出应用标识。
349.在本步骤中,若第二退出联动标识对应的逻辑屏标识的数量大于1,说明存在其他应用实例需要同时退出,则确定出运行在第二退出联动标识对应的每个逻辑屏标识、每个逻辑屏标识对应的栈列表的中的第一个应用实例,并将第一个应用实例对应的应用标识,确定为目标退出应用标识。
350.s907:将第四应用实例对应的应用标识,确定为目标退出应用标识。
351.在本步骤中,若第一退出联动标识对应的栈的数量等于1,或者,若第三栈列表对应的逻辑屏标识不存在对应的第二退出联动标识,或者,若第二退出联动标识对应的逻辑屏标识的数量等于1,说明只有第四应用实例需要退出,将第四应用实例对应的应用标识,确定为目标退出应用标识。
352.本实施例提供的多屏应用交互调度方法,通过第一栈是否存在对应的第一退出联动标识、第一退出联动标识对应的栈的数量使得大于1、第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识、第二退出联动标识对应的逻辑屏标识的数量是否大于1,确定出目标退出应用标识,使得目标退出应用标识确定的更加准确,可实现多个应用实例同时退出,有效提高了用户体验。
353.图10为本技术提供的多屏应用交互调度方法实施例七的流程示意图,在上述实施例的基础上,本技术实施例对应用退出、物理显示屏显示应用实例界面后,为了能够与用户交互,调整应用实例的运行状态的情况进行说明。
354.如图10所示,该多屏应用交互调度方法具体包括以下步骤:
355.s1001:wms向dpms发送显示成功消息和隐藏成功消息。
356.在本步骤中,wms显示应用实例对应的界面后,由于还需要使得待显示应用实例可以与用户进行交互,需要向dpms发送显示成功消息和隐藏成功消息,以便dpms接收第二显示成功消息触发调整应用实例的运行状态。显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上,隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏。
357.s1002:dpms接收到wms发送的显示成功消息和隐藏成功消息后,将每个待显示应用实例的运行状态的运行状态调整为前台交互状态。
358.在本步骤中,wms向dpms发送显示成功消息和隐藏成功消息后,dpms即可接收到wms发送的显示成功消息和隐藏成功消息,为了使得待显示应用实例能够与用户进行交互,将每个待显示应用实例的运行状态调整为前台交互状态。可向每个待显示应用实例发送onactive消息,待显示应用实例即可将其运行状态转换为前台交互状态。
359.需要说明的是,待显示应用实例转换运行状态后,还可向dpms发送转换成功消息。
360.本实施例提供的多屏应用交互调度方法,通过将待显示应用实例的运行状态调整为前台交互状态,可实现待显示应用实例能够与用户进交互,保证了多屏应用交互的正常运行。
361.图11a为本技术提供的多屏应用交互调度方法实施例八的流程示意图,在上述实施例的基础上,本技术实施例对应用移屏的情况进行说明。如图11a所示,该多屏应用交互调度方法具体包括以下步骤:
362.s1101:dpms接收应用移屏请求。
363.用户可通过滑动物理显示屏上显示的应用图标、说出语音指令、做出手势等实现对应用移屏,对应的应用实例会生成应用移屏请求。
364.在本步骤中,应用实例通过pagelink将应用移屏请求发送至dpms后,dpms即可接收到应用移屏请求,移屏请求包括移屏应用标识、移屏后逻辑屏标识、移屏目标栈标识。
365.示例性的,图11b为本技术提供的移屏示意图,如图11b所示,图中包括两个栈列表,分别为栈列表1和栈列表2,栈列表1中包括stack1和stack2,stack1包括应用实例1,stack2包括应用实例2和应用实例3;栈列表2中包括stack3和stack4,stack3包括应用实例4,stack4包括应用实例5和应用实例6。对于不同的逻辑屏,也就是不同的栈列表,将一个栈列表的栈内的应用实例,移动至另一个栈列表内的栈中,实现移屏;示例性的,将应用实例4移动至stack2中。
366.s1102:dpms调整移屏应用标识对应的第六应用实例、移屏后逻辑屏标识对应的第五栈列表中运行状态为前台交互状态的第七应用实例的运行状态。
367.在本步骤中,移屏后物理显示屏进行显示界面时,会根据应用实例的运行状态来确定,并且一个栈列表中只能有一个前台交互状态的应用实例,所以在移栈前,调整移屏应用标识对应的第六应用实例、移屏后逻辑屏标识对应的第五栈列表中运行状态为前台交互状态的第七应用实例的运行状态。
368.具体的,将第六应用实例的运行状态调整为前台非交互状态;
369.若运行第六应用实例的栈的类型为全屏栈,则将第七应用实例的运行状态调整为隐藏状态;
370.若运行第六应用实例的栈的类型为小窗栈,且运行第七应用实例的栈的类型为全屏栈,则将第七应用实例的运行状态调整为前台非交互状态;
371.若运行第六应用实例和第七应用实例的栈的类型均为小窗栈,且移屏目标栈标识对应的栈与运行第七应用实例的栈为同一个栈,则将第七应用实例的运行状态调整为隐藏状态;
372.若运行第六应用实例和第七应用实例的栈的类型均为小窗栈,且移屏目标栈标识对应的栈与运行第七应用实例的栈为不同的栈,则将第七应用实例的运行状态调整为前台非交互状态。此时可将与移屏目标栈标识对应的栈内的其他应用实例的运行状态调整为隐藏状态。
373.需要说明的是,在图2的基础上,dpms可向应用实例发送相应的消息,来实现应用实例的运行状态的调整。应用实例转换运行状态后,还可向dpms发送转换成功消息。
374.s1103:dpms将第六应用实例,从运行第六应用实例的第二栈中,转移至第五栈列表中的移屏目标栈标识对应的栈中。
375.在本步骤中,dpms调整第六应用实例和第七应用实例的运行状态后,即可将第六应用实例,从运行第六应用实例的第二栈中,转移至第五栈列表中的移屏目标栈标识对应的栈中。
376.s1104:dpms调整转移应用实例后的第五栈列表中栈和应用实例的顺序,得到第六栈列表。
377.在本步骤中,dpms将第六应用实例移栈后,则需要调整转移应用实例后的第五栈列表中栈和应用实例的顺序,得到第六栈列表。将移屏目标栈标识对应的栈移动至第五栈的第一位,并且第六应用实例位于移屏目标栈标识对应的栈中的第一位,得到第六栈列表。
378.s1105:dpms将包括第二栈的第七栈列表中第一个应用实例的运行状态调整为前台非交互状态。
379.在本步骤中,dpms得到第六栈列表后,还需要将包括第二栈的第七栈列表中第一个应用实例的运行状态调整为前台非交互状态。
380.s1106:dpms将移屏目标栈标识、移屏应用标识、第六应用实例的调整后的运行状态、第七应用实例的实例标识和调整后的运行状态发送至wms。
381.在本步骤中,dpms将包括第二栈的第七栈列表中第一个应用实例的运行状态调整为前台非交互状态后,即可将移屏目标栈标识、移屏应用标识、第六应用实例的调整后的运行状态、第七应用实例的实例标识和调整后的运行状态发送至wms,以便后续wms可进行显示界面,其中,移屏应用标识携带显示标志。
382.需要说明的是,若第七应用实例的调整后的运行状态调整为隐藏状态,想wms发送的第七应用实例的实例标识,还需要携带隐藏标志。
383.s1107:wms接收到dpms发送的移屏目标栈标识、移屏应用标识、移屏应用标识对应的第六应用实例的运行状态、第七应用实例的实例标识和运行状态后,对包括第七应用实例的实例标识的第五显示栈列表进行调整,得到第六显示栈列表,并对包括移屏应用标识的第七显示栈列表进行调整,得到第八显示栈列表。
384.在本步骤中,dpms将移屏目标栈标识、移屏应用标识、移屏应用标识对应的第六应用实例的运行状态、第七应用实例的实例标识和运行状态发送至wms后,wms即可接收到这些数据,移屏应用标识携带显示标志,进而根据移屏目标栈标识、移屏应用标识、第六应用实例的运行状态、第七应用实例的实例标识和运行状态,显示标志,对包括第七应用实例的实例标识的第五显示栈列表进行调整,得到第六显示栈列表,并对包括移屏应用标识对应的第七显示栈列表进行调整,得到第八显示栈列表。其中,第五显示栈列表包括移屏后逻辑屏标识对应的栈列表中所有应用实例的实例标识,第七显示栈列表包括移屏前逻辑屏标识对应的栈列表中所有应用实例的实例标识。
385.根据显示标志,确定出移屏应用标识;由于wms接收到的实例标识有移屏应用标识、第七应用实例的实例标识,而且移屏应用标识携带显示标志携带显示标志,后续需要使用移屏应用标识,所以需要将其确定出来,就可根据显示标志,确定出移屏应用标识。
386.将第七显示栈列表中移屏应用标识对应的原始运行状态,更新为第六应用实例的运行状态,并将第五显示栈列表中第七应用实例的实例标识对应的原始运行状态,更新为第七应用实例的运行状态;
387.将移屏应用标识,从第七显示栈列表中取出,得到第八显示栈列表,并将第八显示栈列表中第一个实例标识的原始运行状态调整为前台非交互状态;
388.将移屏应用标识转移至第五显示栈列表中的移屏目标栈标识对应的栈中,并调整转移实例标识后的第五显示栈列表中应用实例的顺序,将移屏应用标识所在栈调整至第一
位,并将移屏应用标识在其所在栈中调整至第一位,得到第六显示栈列表。
389.s1108:wms根据第六显示栈列表,在移屏目标栈标识对应的物理显示屏中显示第六显示栈列表中实例标识对应的应用实例的界面,并确定出第八显示栈列表中任意一个栈的第二栈标识,在第二栈标识对应的物理显示屏中显示第八显示栈列表中实例标识对应的应用实例的界面。
390.在本步骤中,wms得到第六显示栈列表和第八显示栈列表后,根据第六显示栈列表,在移屏目标栈标识对应的物理显示屏中显示第六显示栈列表中实例标识对应的应用实例的界面,并确定出第八显示栈列表中任意一个栈的第二栈标识,在第二栈标识对应的物理显示屏中显示第八显示栈列表中实例标识对应的应用实例的界面。
391.需要说明的是,本步骤中显示界面的方式与实施例一中的步骤s408类似,此处不再进行赘述。
392.本实施例提供的多屏应用交互调度方法,通过dpms接收到应用移屏请求后,调整第六应用实例和第七应用实例的运行状态,进而对第六应用实例进行移栈,在调整第五栈列表中栈和应用实例的顺序,调整第七栈列表中第一个应用实例的运行状态,进而将调整的相关数据发送至wms。wms根据相关数据得到第六显示栈列表和第八显示栈列表,进而根据第六显示栈列表和第八显示栈列表进行显示,实现了在一芯多屏的情况下进行移屏,提高了用户体验。
393.图12为本技术提供的多屏应用交互调度方法实施例九的流程示意图,在上述实施例的基础上,本技术实施例对应用移屏、物理显示屏显示应用实例界面后,为了能够与用户交互,调整应用实例的运行状态的情况进行说明。
394.如图12所示,该多屏应用交互调度方法具体包括以下步骤:
395.s1201:wms向dpms发送显示成功消息、隐藏成功消息和移屏完成消息。
396.在本步骤中,wms显示应用实例对应的界面后,由于还需要使得第六应用实例和第七栈列表中的第一个应用实例可以与用户进行交互,需要向dpms发送显示成功消息、隐藏成功消息和移屏完成消息,以便dpms接收第三显示成功消息触发调整应用实例的运行状态。显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,移屏完成消息用于指示移屏已完成。
397.需要说明的是,若第七应用实例的运行状态为前台非交互状态下,则不需要发送隐藏成功消息。
398.s1202:dpms接收到wms发送的显示成功消息、隐藏成功消息和移屏完成消息后,将第七栈列表中第一个应用实例的运行状态调整为前台交互状态,将第六应用实例的运行状态调整为前台交互状态。
399.在本步骤中,wms向dpms发送显示成功消息、隐藏成功消息和移屏完成消息后,dpms即可接收到wms发送的显示成功消息、隐藏成功消息和移屏完成消息,为了使得第六应用实例和第七栈列表中的第一个应用实例能够与用户进行交互,第七栈列表中第一个应用实例的运行状态调整为前台交互状态,将第六应用实例的运行状态调整为前台交互状态。
400.本实施例提供的多屏应用交互调度方法,通过将第六应用实例和第七栈列表中的第一个应用实例的运行状态调整为前台交互状态,可实现第六应用实例和第七栈列表中的
第一个应用实例能够与用户进交互,保证了多屏应用交互的正常运行。
401.图13a为本技术提供的多屏应用交互调度方法实施例十的流程示意图,在上述实施例的基础上,本技术实施例对可在同一个逻辑屏对应的物理显示屏中,移动小窗应用的情况进行说明。如图13a所示,该多屏应用交互调度方法具体包括以下步骤:
402.s1301:dpms接收同屏移小窗请求。
403.用户可通过滑动物理显示屏上显示的应用图标、说出语音指令、做出手势等实现对小窗应用进行移动,对应的应用实例会生成应用移屏请求。
404.在本步骤中,应用实例通过pagelink将同屏移小窗请求发送至dpms后,dpms即可接收到同屏移小窗请求,同屏移小窗包括小窗应用标识、移动目标栈标识。
405.示例性的,图13b为本技术提供的移小窗栈示意图,如图13b所示,图中包括一个栈列表,为栈列表1栈列表1中包括stack1和stack2,stack1包括应用实例1,stack2包括应用实例2和应用实例3。在同一个栈列表内,将一个小窗栈内的应用实例,移动至另一个小窗栈内,实现移动小窗应用;示例性的,将应用实例2移动至stack1中。
406.s1302:dpms根据小窗应用标识对应的第八应用实例,移动至包括第八应用实例的第八栈列表中移动目标栈标识对应的栈中。
407.在本步骤中,dpms接收到同屏移小窗请求后,需要根据小窗应用标识对应的第八应用实例,移动至包括第八应用实例的第八栈列表中移动目标栈标识对应的栈中。
408.s1303:dpms调整移动应用实例后的第八栈列表中栈和应用实例的顺序,得到第九栈列表。
409.在本步骤中,dpms将第八应用实例移栈后,则需要调整移动应用实例后的第八栈列表中栈和应用实例的顺序,得到第九栈列表。将小窗应用标识对应的栈移动至第六栈的第一位,并且第八应用实例位于移屏目标栈标识对应的栈中的第一位。
410.s1304:dpms调整第八应用实例、第九栈列表中运行状态为前台交互状态的第九应用实例的运行状态。
411.在本步骤中,dpms得到第九栈列表后,移屏后物理显示屏进行显示界面时,会根据应用实例的运行状态来确定,并且一个栈列表中只能有一个前台交互状态的应用实例,所以在移栈前,调整第八应用实例、第九栈列表中运行状态为前台交互状态的第九应用实例的运行状态。
412.具体的,将第八应用实例的运行状态调整为前台非交互状态;
413.若移动目标栈标识对应的栈与运行第九应用实例的栈为同一个栈,则将第九应用实例的运行状态调整为隐藏状态;
414.移动目标栈标识对应的栈与运行第九应用实例的栈为不同的栈,则将第九应用实例的运行状态调整为前台非交互状态。此时可将移动目标栈标识对应的栈内的其他应用实例的运行状态调整为隐藏状态。
415.需要说明的是,若第八应用实例的运行状态在调整前已经是前台交互状态,第八应用实例就是第九应用实例,将其运行状态调整为前台非交互状态即可,同时将第八栈列表中的其他应用实例的运行状态调整为隐藏状态。
416.s1305:dpms将移动目标栈标识、小窗应用标识、第八应用实例的调整后的运行状态、第九应用实例的实例标识和调整后的运行状态发送至wms。
417.在本步骤中,dpms得到调整第八应用实例、第九应用实例的运行状态后,将移动目标栈标识、小窗应用标识、第八应用实例的调整后的运行状态、第九应用实例的实例标识和调整后的运行状态发送至wms,以便后续wms可进行显示界面,小窗应用标识携带显示标志。
418.需要说明的是,若第九应用实例的调整后的运行状态调整为隐藏状态,则向wms发送的第九应用实例的实例标识,还需要携带隐藏标志。
419.s1306:wms接收到dpms发送的移动目标栈标识、小窗应用标识、小窗应用标识对应的第八应用实例的运行状态、第九应用实例的实例标识和运行状态后,对包括第九应用实例的实例标识的第九显示栈列表进行调整,得到第十显示栈列表。
420.在本步骤中,dpms将移动目标栈标识、小窗应用标识、小窗应用标识对应的第八应用实例的运行状态、第九应用实例的实例标识和运行状态发送至wms后,wms即可接收到这些数据,小窗应用标识携带显示标志,进而根据移动目标栈标识、小窗应用标识、第八应用实例的运行状态、第九应用实例的实例标识和运行状态,显示标志,对包括第九应用实例的实例标识的第九显示栈列表进行调整,得到第十显示栈列表。其中,第九显示栈列表包括第八栈列表中所有应用实例的实例标识。
421.根据显示标志,确定出小窗应用标识;由于wms接收到的实例标识有小窗应用标识、第九应用实例的实例标识,而且小窗应用标识携带显示标志携带显示标志,后续需要使用移屏应用标识,所以需要将其确定出来,就可根据显示标志,确定出小窗应用标识。
422.将小窗应用标识对应的原始运行状态,更新为第八应用实例的运行状态,并将第九应用实例的实例标识对应的原始运行状态,更新为第九应用实例的运行状态;
423.将小窗应用标识转移至第九显示栈列表中的移动目标栈标识对应的栈中,并调整转移实例标识后的第九显示栈列表中应用实例的顺序,将小窗应用标识所在栈调整至第一位,并将小窗应用标识在其所在栈中调整至第一位,得到第十显示栈列表。
424.s1307:wms根据第十显示栈列表,在移动目标栈标识对应的物理显示屏中显示第十显示栈列表中实例标识对应的应用实例的界面。
425.在本步骤中,wms得到第十显示栈列表后,即可根据第十显示栈列表,在移动目标栈标识对应的物理显示屏中显示第十显示栈列表中实例标识对应的应用实例的界面。
426.需要说明的是,本步骤中显示界面的方式与实施例一中的步骤s408类似,此处不再进行赘述。
427.本实施例提供的多屏应用交互调度方法,通过dpms接收到同屏移小窗请求后,将第八应用实例进行移栈,调整第八栈列表中栈和应用实例的顺序,调整第八应用实例和第九应用实例的运行状态,进而将调整的相关数据发送至wms。wms根据这些相关数据得到第十显示栈列表,进而根据第十显示栈列表进行显示,实现了在一芯多屏的情况下进行移屏,提高了用户体验。
428.图14为本技术提供的多屏应用交互调度方法实施例十一的流程示意图,在上述实施例的基础上,本技术实施例对移动小窗应用、物理显示屏显示应用实例界面后,为了能够与用户交互,调整应用实例的运行状态的情况进行说明。如图14所示,该多屏应用交互调度方法具体包括以下步骤:
429.s1401:wms向dpms发送显示成功消息、隐藏成功消息和移动完成消息。
430.在本步骤中,wms显示应用实例对应的界面后,由于还需要使得第八应用实例可以
与用户进行交互,需要向dpms发送显示成功消息、隐藏成功消息和移动完成消息,以便dpms接收第三显示成功消息触发调整应用实例的运行状态。显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,移动完成消息用于指示小窗移动已完成。
431.需要说明的是,若第九应用实例的运行状态调整为前台非交互状态时,无需发送隐藏成功消息。
432.s1402:dpms接收到wms发送的显示成功消息、隐藏成功消息和移动完成消息后,将第八应用实例的运行状态调整为前台交互状态。
433.在本步骤中,wms向dpms发送显示成功消息、隐藏成功消息和移动完成消息后,dpms即可接收到wms发送的显示成功消息、隐藏成功消息和移动完成消息,为了使得第八应用实例能够与用户进行交互,将第八应用实例的运行状态调整为前台交互状态。可向第八应用实例发送onactive消息,第八应用实例即可将其运行状态转换为前台交互状态。
434.需要说明的是,第八应用实例转换运行状态后,还可向dpms发送转换成功消息。
435.本实施例提供的多屏应用交互调度方法,通过将第八应用实例的运行状态调整为前台交互状态,可实现第八应用实例能够与用户进交互,保证了多屏应用交互的正常运行。
436.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
437.图15为本技术提供的多屏应用交互调度装置实施例一的结构示意图。如图15所示,该多屏应用交互调度装置1500包括:
438.接收模块1501,用于接收应用打开请求,所述应用打开请求包括目标应用标识;
439.处理模块1502,用于:
440.确定目标逻辑屏标识,并确定目标栈标识;
441.在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,生成所述目标应用标识对应的第一应用实例;
442.调整所述第一栈列表中栈和应用实例的顺序,得到第二栈列表;
443.调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态;
444.发送模块1503,用于将所述目标栈标识,所述第一应用实例和所述第二应用实例的实例标识和调整后的运行状态发送至窗口管理服务wms,所述第一应用实例的实例标识携带显示标志。
445.进一步地,所述处理模块1502,具体用于:
446.若所述应用打开请求中包括逻辑屏标识,将所述应用打开请求中包括的逻辑屏标识作为所述目标逻辑屏标识;
447.若所述应用打开请求中不包括逻辑屏标识,则判断所述目标应用标识对应的预设应用配置信息中是否包括逻辑屏标识;
448.若所述预设应用配置信息中包括逻辑屏标识,将所述预设应用配置信息中包括的逻辑屏标识作为所述目标逻辑屏标识;
449.若所述预设应用配置信息中不包括所述逻辑屏标识,则判断发送所述应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;
450.若所述第三应用实例运行在逻辑屏标识对应的栈列表的栈中,将所述逻辑屏标识作为所述目标逻辑屏标识;
451.若所述第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,将预设逻辑屏标识作为所述目标逻辑屏标识。
452.进一步地,所述处理模块1502,具体还用于:
453.若所述应用打开请求中包括栈标识,将所述应用打开请求中包括的栈标识作为所述目标栈标识;
454.若所述应用打开请求中不包括栈标识,则判断发送所述应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;
455.若所述第三应用实例运行在逻辑屏标识对应的栈列表的栈中,将运行所述第三应用实例的栈的栈标识作为所述目标栈标识;
456.若所述第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,将所述目标逻辑屏标识对应的预设栈标识作为所述目标栈标识。
457.进一步地,所述处理模块1502,具体还用于:
458.若所述第一应用实例未被创建,则创建所述第一应用实例;
459.若所述第一应用实例已被创建,且运行所述第一应用实例的栈与所述第一栈列表中的所述目标栈标识对应的栈不相同,则将所述第一应用实例从所述运行所述第一应用实例的栈中,转移至所述第一栈列表中的所述目标栈标识对应的栈中。
460.进一步地,所述处理模块1502,还用于:
461.将所述第一应用实例的运行状态设置为创建状态。
462.进一步地,所述处理模块1502,还用于:
463.将所述第一应用实例的运行状态调整为前台非交互状态;
464.若运行所述第一应用实例的栈的类型为全屏栈,则将所述第二应用实例的运行状态调整为隐藏状态;
465.若运行所述第一应用实例的栈的类型为小窗栈,且运行所述第二应用实例的栈的类型为全屏栈,则将所述第二应用实例的运行状态调整为前台非交互状态;
466.若运行所述第一应用实例和所述第二应用实例的栈的类型均为小窗栈,且运行所述第一应用实例和所述第二应用实例的栈为同一个栈,则将所述第二应用实例的运行状态调整为隐藏状态;
467.若运行所述第一应用实例和所述第二应用实例的栈的类型均为小窗栈,且运行所述第一应用实例和所述第二应用实例的栈为不同的栈,则将所述第二应用实例的运行状态调整为前台非交互状态.
468.进一步地,所述接收模块1501,还用于接收所述wms发送的显示成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上;
469.进一步地,所述处理模块1502,还用于:
470.将所述第一应用实例的运行状态调整为前台交互状态。
471.进一步地,所述接收模块1501,还用于接收应用退出请求,所述应用退出请求包括退出应用标识、退出结果标识,所述退出结果标识用于指示退出至桌面或退出至上一应用;
472.进一步地,所述处理模块1502,还用于:
473.根据运行所述退出应用标识对应的第四应用实例的第一栈是否存在对应的第一退出联动标识,以及包括所述第一栈的第三栈列表对应的逻辑屏标识是否存在对应的第二退出联动标识,确定出至少一个目标退出应用标识,所述目标退出应用标识包括所述退出应用标识;
474.对于每个目标退出应用标识,根据所述退出结果标识,从包括所述目标退出应用标识对应的应用实例的栈列表中,确定出待显示应用实例,并调整所述栈列表中栈和应用实例的顺序,得到第四栈列表;
475.调整每个待显示应用实例、每个目标退出应用标识对应的应用实例的运行状态;
476.进一步地,所述发送模块1503,还用于将每个待显示应用实例的实例标识和调整后的运行状态,每个目标退出应用标识,每个目标退出应用标识对应的应用实例的调整后的运行状态发送至所述wms,每个待显示应用实例的实例标识携带所述显示标志。
477.进一步地,所述处理模块1502,具体用于:
478.判断所述第一栈是否存在对应的所述第一退出联动标识;
479.若所述第一栈存在对应的所述第一退出联动标识,则判断所述第一退出联动标识对应的栈的数量是否大于1;
480.若所述第一退出联动标识对应的栈的数量大于1,则确定出运行在所述第一退出联动标识对应的栈中的第五应用实例,并将每个第五应用实例对应的应用标识,确定为所述目标退出应用标识;
481.若所述第一退出联动标识对应的栈的数量等于1,则将所述第四应用实例对应的应用标识,确定为所述目标退出应用标识;
482.若所述第一栈不存在对应的所述第一退出联动标识,则判断所述第三栈列表对应的逻辑屏标识是否存在对应的所述第二退出联动标识;
483.若所述第三栈列表对应的逻辑屏标识存在对应的所述第二退出联动标识,则判断所述第二退出联动标识对应的逻辑屏标识的数量是否大于1;
484.若所述第二退出联动标识对应的逻辑屏标识的数量大于1,则确定出运行在所述第二退出联动标识对应的每个逻辑屏标识、每个逻辑屏标识对应的栈列表的中的第一个应用实例,并将所述第一个应用实例对应的应用标识,确定为所述目标退出应用标识;
485.若所述第二退出联动标识对应的逻辑屏标识的数量等于1,则将所述第四应用实例对应的应用标识,确定为所述目标退出应用标识;
486.若所述第三栈列表对应的逻辑屏标识不存在对应的所述第二退出联动标识,则将所述第四应用实例对应的应用标识,确定为所述目标退出应用标识。
487.进一步地,所述处理模块1502,具体用于:
488.若所述退出结果标识指示退出至桌面,对于包括所述目标退出应用标识对应的应用实例的栈列表,将所述栈列表中桌面应用实例确定为待显示应用实例,并将所述待显示应用实例对应的栈调整至所述栈列表中第一位,并将所述待显示应用实例调整至所述待显示应用实例对应的栈中的第一位,得到所述第四栈列表;
489.若所述退出结果标识指示退出至上一应用,对于包括所述目标退出应用标识对应的应用实例的栈列表,则从应用打开记录中获取所述目标退出应用标识的前一应用标识;
490.将所述栈列表中所述前一应用标识对应的应用实例确定为待显示应用实例,并将
所述待显示应用实例对应的栈调整于所述栈列表中第一位,并将所述待显示应用实例调整至所述待显示应用实例对应的栈中第一位,得到所述第四栈列表。
491.进一步地,所述处理模块1502,具体用于:
492.将每个目标退出应用标识对应的应用实例的运行状态调整为隐藏状态;
493.将每个待显示应用实例的运行状态调整为前台非交互状态。
494.进一步地,所述接收模块1501,还用于接收所述wms发送的显示成功消息和隐藏成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏;
495.进一步地,所述处理模块1502,还用于将每个待显示应用实例的运行状态调整为前台交互状态。
496.进一步地,所述接收模块1501,还用于接收应用移屏请求,所述移屏请求包括移屏应用标识、移屏后逻辑屏标识、移屏目标栈标识;
497.进一步地,所述处理模块1502,还用于:
498.调整所述移屏应用标识对应的第六应用实例、所述移屏后逻辑屏标识对应的第五栈列表中运行状态为前台交互状态的第七应用实例的运行状态;
499.将所述第六应用实例,从运行所述第六应用实例的第二栈中,转移至所述第五栈列表中的所述移屏目标栈标识对应的栈中;
500.调整转移应用实例后的第五栈列表中栈和应用实例的顺序,得到第六栈列表;
501.将包括所述第二栈的第七栈列表中第一个应用实例的运行状态调整为前台非交互状态;
502.进一步地,所述发送模块1503,还用于将所述移屏目标栈标识、所述移屏应用标识、所述第六应用实例的调整后的运行状态、所述第七应用实例的实例标识和调整后的运行状态发送至所述wms,所述移屏应用标识携带所述显示标志。
503.进一步地,所述处理模块1502,还用于:
504.将所述第六应用实例的运行状态调整为前台非交互状态;
505.若运行所述第六应用实例的栈的类型为全屏栈,则将所述第七应用实例的运行状态调整为隐藏状态;
506.若运行所述第六应用实例的栈的类型为小窗栈,且运行所述第七应用实例的栈的类型为全屏栈,则将所述第七应用实例的运行状态调整为前台非交互状态;
507.若运行所述第六应用实例和所述第七应用实例的栈的类型均为小窗栈,且所述移屏目标栈标识对应的栈与运行所述第七应用实例的栈为同一个栈,则将所述第七应用实例的运行状态调整为隐藏状态;
508.若运行所述第六应用实例和所述第七应用实例的栈的类型均为小窗栈,且所述移屏目标栈标识对应的栈与运行所述第七应用实例的栈为不同的栈,则将所述第七应用实例的运行状态调整为前台非交互状态。
509.进一步地,所述接收模块1501,还用于接收所述wms发送的显示成功消息、隐藏成功消息和移屏完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移屏完成消息用于指示移屏已完成;
510.进一步地,所述处理模块1502,还用于将所述第七栈列表中第一个应用实例的运行状态调整为前台交互状态,将所述第六应用实例的运行状态调整为前台交互状态。
511.进一步地,所述接收模块1501,还用于接收同屏移小窗请求,所述同屏移小窗包括小窗应用标识、移动目标栈标识;
512.进一步地,所述处理模块1502,还用于根据所述小窗应用标识对应的第八应用实例,移动至包括所述第八应用实例的第八栈列表中所述移动目标栈标识对应的栈中;
513.调整移动应用实例后的第八栈列表中栈和应用实例的顺序,得到第九栈列表;
514.调整所述第八应用实例、所述第九栈列表中运行状态为前台交互状态的第九应用实例的运行状态;
515.进一步地,所述发送模块1503,还用于将所述移动目标栈标识、所述小窗应用标识、所述第八应用实例的调整后的运行状态、所述第九应用实例的实例标识和调整后的运行状态发送至所述wms,所述小窗应用标识携带所述显示标志。
516.进一步地,所述处理模块1502,还用于将所述第八应用实例的运行状态调整为前台非交互状态;
517.若所述移动目标栈标识对应的栈与运行所述第九应用实例的栈为同一个栈,则将所述第九应用实例的运行状态调整为隐藏状态;
518.若所述移动目标栈标识对应的栈与运行所述第九应用实例的栈为不同的栈,则将所述第九应用实例的运行状态调整为前台非交互状态。
519.进一步地,所述接收模块1501,还用于接收所述wms发送的显示成功消息、隐藏成功消息和移动完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移动完成消息用于指示小窗移动已完成;
520.进一步地,所述处理模块1502,还用于将所述第八应用实例的运行状态调整为前台交互状态。
521.本实施例提供的多屏应用交互调度装置,用于执行前述任一方法实施例中dpms的技术方案,其实现原理和技术效果类似,在此不再赘述。
522.图16为本技术提供的多屏应用交互调度装置实施例二的结构示意图;如图16所示,该多屏应用交互调度装置1600还包括:
523.接收模块1601,用于接收动态page管理服务dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态,所述第一应用实例的实例标识携带显示标志;
524.处理模块1602,用于根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表;
525.显示模块1603,根据所述第二显示栈列表,在所述目标栈标识标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。
526.进一步地,所述处理模块1602,具体用于:
527.根据所述显示标志,确定出所述第一应用实例的实例标识;
528.将所述第一应用实例的实例标识,存入所述第一显示栈列表中的所述目标栈标识对应的栈中,并将所述第一显示栈列表中所述第二应用实例的实例标识对应的原始运行状
态,更新为所述第二应用实例的运行状态;
529.调整所述第一显示栈列表中实例标识的顺序,得到所述第二显示栈列表。
530.进一步地,所述显示模块1603,具体用于根据所述第二显示栈列表中实例标识对应的运行状态、预设层级、排列顺序,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。
531.发送模块1604,用于向所述dpms发送显示成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上。
532.进一步地,所述接收模块1601,还用于接收所述dpms发送的多个待显示应用实例的实例标识和运行状态,和多个目标退出应用标识,每个目标退出应用标识对应的应用实例的运行状态,每个待显示应用实例的实例标识携带所述显示标志;
533.进一步地,所述处理模块1602,还用于根据每个待显示应用实例的实例标识和运行状态、每个目标退出应用标识、每个目标退出应用标识对应的应用实例的运行状态,每个显示标志,对每个包括待显示应用实例的实例标识的第三显示栈列表进行调整,得到第四显示栈列表。
534.进一步地,所述显示模块1603,还用于对于每个第四显示栈列表,确定出所述第四显示栈列表中包括目标退出应用标识的栈的第一栈标识,在所述第一栈标识对应的物理显示屏中显示所述第四显示栈列表中实例标识对应的应用实例的界面。
535.进一步地,所述处理模块1602,还用于:
536.对于每个显示标记,确实携带所述显示标记的待显示应用实例的实例标识;
537.确定出包括所述实例标识的第三显示栈列表,将所述第三显示栈列表中的目标退出应用标识对应的原始运行状态,更新为所述目标退出应用标识对应的应用实例的运行状态,并将所述待显示应用实例的实例标识对应的原始运行状态,更新为所述待显示应用实例的运行状态;
538.调整所述第三显示列表中实例标识的顺序,得到所述第四显示栈列表。
539.进一步地,所述发送模块1604,还用于向所述dpms发送显示成功消息和隐藏成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏。
540.进一步地,所述接收模块1601,还用于接收所述dpms发送的移屏目标栈标识、移屏应用标识、所述移屏应用标识对应的第六应用实例的运行状态、第七应用实例的实例标识和运行状态,所述移屏应用标识携带所述显示标志;
541.进一步地,所述处理模块1602,还用于根据所述移屏目标栈标识、所述移屏应用标识、所述第六应用实例的运行状态、所述第七应用实例的实例标识和运行状态,所述显示标志,对包括所述第七应用实例的实例标识的第五显示栈列表进行调整,得到第六显示栈列表,并对包括所述移屏应用标识的第七显示栈列表进行调整,得到第八显示栈列表;
542.进一步地,所述显示模块1603,还用于根据所述第六显示栈列表,在所述移屏目标栈标识对应的物理显示屏中显示所述第六显示栈列表中实例标识对应的应用实例的界面,并确定出所述第八显示栈列表中任意一个栈的第二栈标识,在所述第二栈标识对应的物理显示屏中显示所述第八显示栈列表中实例标识对应的应用实例的界面。
543.进一步地,所述处理模块1602,还用于:
544.根据所述显示标志,确定出所述移屏应用标识;
545.将所述第七显示栈列表中所述移屏应用标识对应的原始运行状态,更新为所述第六应用实例的运行状态,并将所述第五显示栈列表中所述第七应用实例的实例标识对应的原始运行状态,更新为所述第七应用实例的运行状态;
546.将所述移屏应用标识,从所述第七显示栈列表中取出,得到所述第八显示栈列表,并将所述第八显示栈列表中第一个实例标识的原始运行状态调整为前台非交互状态;
547.将所述移屏应用标识转移至所述第五显示栈列表中的所述移屏目标栈标识对应的栈中,并调整转移实例标识后的第五显示栈列表中应用实例的顺序,得到所述第六显示栈列表。
548.进一步地,所述发送模块1604,还用于向所述dpms发送显示成功消息、隐藏成功消息和移屏完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移屏完成消息用于指示移屏已完成。
549.进一步地,所述接收模块1601,还用于接收所述dpms发送的移动目标栈标识、小窗应用标识、所述小窗应用标识对应的第八应用实例的运行状态、第九应用实例的实例标识和运行状态,所述小窗应用标识携带所述显示标志;
550.进一步地,所述处理模块1602,还用于根据所述移动目标栈标识、所述小窗应用标识、所述第八应用实例的运行状态、所述第九应用实例的实例标识和运行状态,所述显示标志,对包括所述第九应用实例的实例标识的第九显示栈列表进行调整,得到第十显示栈列表;
551.进一步地,所述显示模块1603,还用于根据所述第十显示栈列表,在所述移动目标栈标识对应的物理显示屏中显示所述第十显示栈列表中实例标识对应的应用实例的界面。
552.进一步地,所述处理模块1602,还用于根据所述显示标志,确定出所述小窗应用标识;
553.将所述小窗应用标识对应的原始运行状态,更新为所述第八应用实例的运行状态,并将所述第九应用实例的实例标识对应的原始运行状态,更新为所述第九应用实例的运行状态;
554.将所述小窗应用标识转移至所述第九显示栈列表中的所述移动目标栈标识对应的栈中,并调整转移实例标识后的第九显示栈列表中应用实例的顺序,得到所述第十显示栈列表。
555.进一步地,所述发送模块1604,向所述dpms发送显示成功消息、隐藏成功消息和移动完成消息,所述显示成功消息用于需要显示的应用实例的界面已成功显示在物理显示屏上,所述隐藏成功消息用于指示需要隐藏的应用实例的界面已成功隐藏,所述移动完成消息用于指示小窗移动已完成。
556.本实施例提供的多屏应用交互调度装置,用于执行前述任一方法实施例中wms的技术方案,其实现原理和技术效果类似,在此不再赘述。
557.图17为本技术提供的一种电子设备的结构示意图一。如图17所示,该电子设备170包括:
558.处理器171,存储器172,以及通信接口173;
559.所述存储器172用于存储所述处理器171的可执行指令;
560.其中,所述处理器171配置为经由执行所述可执行指令来执行前述任一方法实施例中dpms的技术方案。
561.可选的,存储器172既可以是独立的,也可以跟处理器171集成在一起。
562.可选的,当所述存储器172是独立于处理器171之外的器件时,所述电子设备170还可以包括:
563.总线174,存储器172和通信接口173通过总线174与处理器171连接并完成相互间的通信,通信接口173用于和其他设备进行通信。
564.可选的,通信接口173具体可以通过收发器实现。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
565.总线174可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
566.上述的处理器可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
567.该电子设备用于执行前述任一方法实施例中dpms的技术方案,其实现原理和技术效果类似,在此不再赘述。
568.图18为本技术提供的一种电子设备的结构示意图二。如图18所示,该电子设备180包括:
569.处理器181,存储器182,通信接口183,以及多个显示器(图中示出了3个显示器,分别为显示器184、显示器185和显示器186);
570.所述存储器182用于存储所述处理器181的可执行指令;
571.其中,所述处理器181配置为经由执行所述可执行指令来执行前述任一方法实施例中wms的技术方案。
572.可选的,存储器182既可以是独立的,也可以跟处理器181集成在一起。
573.可选的,当所述存储器182是独立于处理器181之外的器件时,所述电子设备180还可以包括:
574.总线187,存储器182和通信接口183通过总线187与处理器181连接并完成相互间的通信,通信接口183用于和其他设备进行通信。
575.可选的,通信接口183具体可以通过收发器实现。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
576.总线187可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总
线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
577.上述的处理器可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
578.该电子设备用于执行前述任一方法实施例中wms的技术方案,其实现原理和技术效果类似,在此不再赘述。
579.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例提供的技术方案。
580.本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现前述任一方法实施例提供的技术方案。
581.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
582.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:
1.一种多屏应用交互调度方法,其特征在于,应用于操作系统中的动态page管理服务dpms,所述方法包括:接收应用打开请求,所述应用打开请求包括目标应用标识;根据所述应用打开请求,确定目标逻辑屏标识,并确定目标栈标识;在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,生成所述目标应用标识对应的第一应用实例;调整所述第一栈列表中栈和应用实例的顺序,得到第二栈列表;调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态;将所述目标栈标识,所述第一应用实例和所述第二应用实例的实例标识和调整后的运行状态发送至窗口管理服务wms,所述第一应用实例的实例标识携带显示标志。2.根据权利要求1所述的方法,其特征在于,所述根据所述应用打开请求,确定目标逻辑屏标识,包括:若所述应用打开请求中包括逻辑屏标识,将所述应用打开请求中包括的逻辑屏标识作为所述目标逻辑屏标识;若所述应用打开请求中不包括逻辑屏标识,则判断所述目标应用标识对应的预设应用配置信息中是否包括逻辑屏标识;若所述预设应用配置信息中包括逻辑屏标识,将所述预设应用配置信息中包括的逻辑屏标识作为所述目标逻辑屏标识;若所述预设应用配置信息中不包括所述逻辑屏标识,则判断发送所述应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;若所述第三应用实例运行在逻辑屏标识对应的栈列表的栈中,将所述逻辑屏标识作为所述目标逻辑屏标识;若所述第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,将预设逻辑屏标识作为所述目标逻辑屏标识。3.根据权利要求1所述的方法,其特征在于,所述确定目标栈标识,包括:若所述应用打开请求中包括栈标识,将所述应用打开请求中包括的栈标识作为所述目标栈标识;若所述应用打开请求中不包括栈标识,则判断发送所述应用打开请求的第三应用实例是否运行在逻辑屏标识对应的栈列表的栈中;若所述第三应用实例运行在逻辑屏标识对应的栈列表的栈中,将运行所述第三应用实例的栈的栈标识作为所述目标栈标识;若所述第三应用实例未运行在逻辑屏标识对应的栈列表的栈中,将所述目标逻辑屏标识对应的预设栈标识作为所述目标栈标识。4.根据权利要求1所述的方法,其特征在于,在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,所述生成所述目标应用标识对应的第一应用实例,包括:若所述第一应用实例未被创建,则创建所述第一应用实例;若所述第一应用实例已被创建,且运行所述第一应用实例的栈与所述第一栈列表中的所述目标栈标识对应的栈不相同,则将所述第一应用实例从所述运行所述第一应用实例的
栈中,转移至所述第一栈列表中的所述目标栈标识对应的栈中。5.根据权利要求4所述的方法,其特征在于,创建所述第一应用实例之后,所述方法还包括:将所述第一应用实例的运行状态设置为创建状态。6.根据权利要求1所述的方法,其特征在于,所述调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态,包括:将所述第一应用实例的运行状态调整为前台非交互状态;若运行所述第一应用实例的栈的类型为全屏栈,则将所述第二应用实例的运行状态调整为隐藏状态;若运行所述第一应用实例的栈的类型为小窗栈,且运行所述第二应用实例的栈的类型为全屏栈,则将所述第二应用实例的运行状态调整为前台非交互状态;若运行所述第一应用实例和所述第二应用实例的栈的类型均为小窗栈,且运行所述第一应用实例和所述第二应用实例的栈为同一个栈,则将所述第二应用实例的运行状态调整为隐藏状态;若运行所述第一应用实例和所述第二应用实例的栈的类型均为小窗栈,且运行所述第一应用实例和所述第二应用实例的栈为不同的栈,则将所述第二应用实例的运行状态调整为前台非交互状态。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述wms发送的显示成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上;将所述第一应用实例的运行状态调整为前台交互状态。8.一种多屏应用交互调度方法,其特征在于,应用于操作系统中的窗口管理服务wms,所述方法包括:接收动态page管理服务dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态,所述第一应用实例的实例标识携带显示标志;根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表;根据所述第二显示栈列表,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。9.根据权利要求8所述的方法,其特征在于,所述根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表,包括:根据所述显示标志,确定出所述第一应用实例的实例标识;将所述第一应用实例的实例标识,存入所述第一显示栈列表中的所述目标栈标识对应的栈中,并将所述第一显示栈列表中所述第二应用实例的实例标识对应的原始运行状态,更新为所述第二应用实例的运行状态;调整所述第一显示栈列表中实例标识的顺序,得到所述第二显示栈列表。10.根据权利要求8所述的方法,其特征在于,所述根据所述第二显示栈列表,在所述目
标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面,包括:根据所述第二显示栈列表中实例标识对应的运行状态、预设层级、排列顺序,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。11.根据权利要求8所述的方法,其特征在于,所述方法还包括:向所述dpms发送显示成功消息,所述显示成功消息用于指示需要显示的应用实例的界面已成功显示在物理显示屏上。12.一种多屏应用交互调度装置,其特征在于,包括:接收模块,用于接收应用打开请求,所述应用打开请求包括目标应用标识;处理模块,用于:确定目标逻辑屏标识,并确定目标栈标识;在所述目标逻辑屏标识对应的第一栈列表中的所述目标栈标识对应的栈中,生成所述目标应用标识对应的第一应用实例;调整所述第一栈列表中栈和应用实例的顺序,得到第二栈列表;调整所述第一应用实例、所述第一栈列表的栈中运行状态为前台交互状态的第二应用实例的运行状态;发送模块,用于将所述目标栈标识,所述第一应用实例和所述第二应用实例的实例标识和调整后的运行状态发送至窗口管理服务wms,所述第一应用实例的实例标识携带显示标志。13.一种多屏应用交互调度装置,其特征在于,包括:接收模块,用于接收动态page管理服务dpms发送的目标栈标识,第一应用实例和第二应用实例的实例标识和运行状态,所述第一应用实例的实例标识携带显示标志;处理模块,用于根据所述目标栈标识、所述第一应用实例和所述第二应用实例的实例标识和运行状态、所述显示标志,对包括所述第二应用实例的实例标识的第一显示栈列表进行调整,得到第二显示栈列表;显示模块,根据所述第二显示栈列表,在所述目标栈标识对应的物理显示屏中显示所述第二显示栈列表中实例标识对应的应用实例的界面。14.一种电子设备,其特征在于,包括:处理器,存储器,通信接口;所述存储器用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的多屏应用交互调度方法。15.一种电子设备,其特征在于,包括:处理器,存储器,通信接口,多个显示器;所述存储器用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求8至11任一项所述的多屏应用交互调度方法。16.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理
器执行时实现权利要求1至11任一项所述的多屏应用交互调度方法。17.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至11任一项所述的多屏应用交互调度方法。
技术总结
本申请提供一种多屏应用交互调度方法、装置、设备及介质。在该方法中,在DPMS接收到应用打开请求后,确定出目标逻辑屏标识和目标栈标识,进而在目标逻辑屏标识对应的栈列表中的目标栈标识对应的栈中,生成应用实例;进而调整栈列表中栈和应用实例的顺序、应用实例的运行状态,进而将调整的相关数据发送至WMS。WMS根据相关数据调整显示栈列表,进而在目标栈标识对应的物理显示屏中应用实例对应的界面,完成交互。本方案通过确定出目标逻辑屏标识,调整栈和应用实例的顺序和应用实例的运行状态,使得WMS可确定出在哪个物理显示屏上显示,以及如何显示应用实例的界面,实现了在一芯多屏的情况下进行多屏应用交互。情况下进行多屏应用交互。情况下进行多屏应用交互。
技术研发人员:付乾坤 韩璟璐 陈玉植 张培凯
受保护的技术使用者:斑马网络技术有限公司
技术研发日:2023.06.28
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/