
1.本技术涉及计算机技术领域,尤其是涉及到一种安卓模拟器的显示方法方法及装置、存储介质和计算机设备。
背景技术:2.现有的安卓模拟器只能显示一个窗口。因此用户每次只能开一个应用,把这个应用显示在唯一的窗口中,如果要打开多个应用就只能同时打开多个模拟器,操作复杂,使用不方便。
技术实现要素:3.有鉴于此,本技术提供了一种安卓模拟器的显示方法及安卓模拟器、存储介质和计算机设备,可以在模拟器上同时运行多个程序,并显示多个程序对应的多个窗口。
4.根据本技术的一个方面,提供了一种安卓模拟器的显示方法,包括:
5.在预设窗口显示已运行应用的情况下,接收启动指令,并根据所述启动指令启动当前应用;
6.根据所述当前应用的状态,判断所述当前应用是否已独立显示;
7.如果已独立显示,则将所述当前应用对应的第一目标界面设置为激活状态,并将所述第一目标界面对应的独立窗口置于顶层;
8.如果未独立显示,则将所述当前应用对应的第二目标界面以标签方式显示在预设窗口上。
9.可选地,在将所述当前应用对应的第二目标界面以标签方式显示在预设窗口上之后,所述方法还包括:
10.响应于第一拖拽指令,创建虚拟显示设备;
11.利用所述虚拟显示设备创建对应的子窗口,并在所述子窗口显示所述第二目标界面;
12.在所述预设窗口显示预设的默认应用对应的默认界面。
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.判断模块,用于根据所述当前应用的状态,判断所述当前应用是否已独立显示;
38.置顶模块,如果已独立显示,则将所述当前应用对应的第一目标界面设置为激活状态,并将所述第一目标界面对应的独立窗口置于顶层;
39.显示模块,如果未独立显示,则将所述当前应用对应的第二目标界面以标签方式显示在预设窗口上。
40.可选地,所述安卓模拟器还包括虚拟显示设备控制模块。
41.所述虚拟显示设备控制模块,用于响应于第一拖拽指令,创建虚拟显示设备;
42.所述显示模块,还用于利用所述虚拟显示设备创建对应的子窗口,并在所述子窗口显示所述第二目标界面;
43.所述显示模块,还用于在所述预设窗口显示预设的默认应用对应的默认界面。
44.可选地,所述安卓模拟器还包括暂停模块。
45.所述虚拟显示设备控制模块,还用于响应于第二拖拽指令,移除所述子窗口对应的所述虚拟显示设备;
46.所述状态控制模块,用于确定所述预设窗口中的每个界面对应的应用为后台暂停应用,并暂停所述后台暂停应用对应的任务;
47.所述显示模块,还用于在所述预设窗口显示所述第二目标界面;
48.所述虚拟显示设备控制模块,还用于响应于关闭指令,移除所述当前应用,并移除所述虚拟显示设备。
49.可选地,所述显示模块,还用于:
50.将所述子窗口对应的虚拟显示设备与所述当前应用绑定;
51.在所述子窗口显示与所述当前应用对应的第二目标界面;
52.将所述预设窗口对应的预设虚拟显示设备与所述默认应用绑定;
53.在所述预设窗口显示与所述默认应用对应的默认界面。
54.可选地,所述显示模块,还用于:
55.将所述预设窗口对应的预设虚拟显示设备与所述当前应用绑定;
56.在所述预设窗口显示与所述当前应用对应的第二目标界面。
57.可选地,所述判断模块具体用于:。
58.根据所述当前应用的状态,判断所述当前应用是否处于运行状态;
59.如果是,则判断所述当前应用是否与任一独立窗口对应的虚拟显示设备绑定;
60.如果是,则所述当前应用独立显示。
61.可选地,所述状态控制模块具体用于:
62.若多个界面以标签形式显示在所述预设窗口上,则确定在最上层的界面为活动界面;
63.确定所述多个界面中除所述活动界面的每个界面为暂停界面;
64.将每个所述暂停界面对应的应用的任务设置为暂停状态。
65.根据本技术又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述安卓模拟器的显示方法。
66.根据本技术再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述安卓模拟器的显示方法。
67.借由上述技术方案,在预设窗口已经显示了应用的情况下,本技术可以将已经启动并独立运行的当前应用对应的第一目标界面置顶,以使该应用对应的界面在前台显示;并将未独立显示的当前应用的第二目标界面设显示在预设窗口上。本技术突破了现有的显示方法只能显示一个应用的限制,只需启动一个安卓模拟器就可以同时显示多个应用的内容,操作更加方便。
68.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
69.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
70.图1示出了本技术实施例提供的一种安卓模拟器的显示方法的流程示意图;
71.图2示出了本技术实施例提供的另一种安卓模拟器的显示方法与现有显示方法的对比示意图之一;
72.图3示出了本技术实施例提供的另一种安卓模拟器的显示方法与现有显示方法的对比示意图之一;
73.图4示出了本技术实施例提供的另一种安卓模拟器的显示方法的流程示意图;
74.图5示出了本技术实施例提供的一种安卓模拟器的结构框图。
具体实施方式
75.下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
76.在本实施例中提供了一种安卓模拟器的显示方法,如图1所示,该方法包括:
77.步骤101,在预设窗口显示已运行应用的情况下,接收启动指令,并根据启动指令启动当前应用;
78.本技术实施例提供的显示方法适用于安卓模拟器,可以在安卓模拟器的预设窗口已经显示了已运行应用的情况下,同时显示其他应用。在此情况下,首先接收启动指令,根据启动指令启动当前应用,从而在模拟器中同时显示已运行应用以及当前应用。
79.步骤102,根据当前应用的状态,判断当前应用是否已独立显示;
80.在该实施例中,在使用过程中,有些基于安卓系统的应用可能已经启动并独立显示,对于这样的当前应用不需要再次为其设置用于显示的窗口,因此,可以根据应用的状态将已独立显示的应用筛选出来。
81.步骤103,如果已独立显示,则将当前应用对应的第一目标界面设置为激活状态,并将第一目标界面对应的独立窗口置于顶层;
82.在该实施例中,如果当前应用已经在独立窗口显示,那么可以将当前应用对应的第一目标界面激活并将独立窗口置于顶层,使第一目标应用可以通过独立窗口在前台显示。该实施例使启动指令对应的当前应用展示在最上方,便于用户针对该应用进行操作。
83.步骤104,如果未独立显示,则将当前应用对应的第二目标界面以标签方式显示在预设窗口上。
84.在该实施例中,若当前应用未独立显示,也即当前应用没有对应的独立窗口,那么可以在预设窗口显示当前应用对应的第二目标界面。具体地,以标签形式显示第二目标界面。在开启多个应用时,多个界面可以同时显示在预设窗口中,每个界面以浏览器标签的样式显示,可以通过点击标签实现界面的切换,点击标签对应的关闭按钮可以实现界面的关闭。
85.如图2(现有的显示方法)和图3(本技术的显示方法)所示,多个应用被安卓系统自带的wms(windowmanagerservice,窗口管理服务)以及ams(activitymanagerservice,界面管理服务)统一管理,在现有的显示方法中,安卓模拟器只有一个window(窗口),多个task(应用)均需要在唯一的窗口中显示,因此在同一时刻,只有最上层的应用中最上方的界面可以显示;而在本技术的显示方法中,安卓模拟器可以有多个窗口,因此可以为每个应用提供一个窗口,因此多个应用的界面可以同时在各自的窗口中显示。
86.通过应用本实施例的技术方案,可以在同一个模拟器中,同时显示多个应用,有效解决了现有的显示方法需要开启多个模拟器才能显示多个应用的问题,使操作更加简便。
87.进一步地,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种安卓模拟器的显示方法,如图4所示,在该方法中,在将激活状态的目标界面以标签方式显示在预设窗口上之后,方法还包括:
88.步骤401,响应于第一拖拽指令,创建虚拟显示设备;
89.在该实施例中,当前任务对应的第二目标界面可以拖拽至脱离预设窗口。在此情况下,首先根据第一拖拽命令,利用安卓系统自带的sf服务为当前任务创建虚拟显示设备
(displaydevice设备),从而可以利用虚拟显示设备来显示当前任务的目标界面。
90.步骤402,利用虚拟显示设备创建对应的子窗口,并在子窗口显示第二目标界面;
91.在该实施例中,在创建了虚拟显示设备后。在虚拟显示设备中创建一个子窗口,当前任务对应的第二目标界面可以显示在这个子窗口中。
92.步骤403,在预设窗口显示预设的默认应用对应的默认界面。
93.在该实施例中,将当前任务对应的第二目标界面拖拽至脱离预设窗口后,第二目标界面在新建的子窗口中显示,此时预设窗口可以显示预设的默认用用对应的默认界面。其中,默认界面可以是桌面应用程序(launcher)对应的界面。
94.此外,在模拟器刚启动时,预设窗口也可以显示这个默认界面。
95.进一步地,在另一种安卓模拟器的显示方法中,在预设窗口显示预设的默认应用对应的默认界面之后,方法还包括:
96.步骤501,响应于第二拖拽指令,移除子窗口对应的虚拟显示设备;
97.在该实施例中,也可以将脱离预设窗口的目标界面拖拽回预设窗口,也就是使子窗口与预设窗口合并。具体地,移除子窗口对应的虚拟显示设备,此时,子窗口也随之被移除,目标界面与子窗口之间不再存在对应关系。
98.步骤502,确定预设窗口中的每个界面对应的应用为后台暂停应用,并暂停后台暂停应用对应的任务;
99.步骤503,在预设窗口显示第二目标界面;
100.在该实施例中,将第二目标界面拖拽回预设窗口后,可以在预设窗口显示第二目标界面,而预设窗口的每个标签所显示的默认应用对应的任务则暂停。
101.进一步地,若预设窗口的每个标签所显示的不是默认应用,而是其他应用,则将其他应用对应的任务也暂停。
102.或:
103.步骤503,响应于关闭指令,移除当前应用,并移除虚拟显示设备。
104.在该实施例中,若接收到关闭指令,则移除当前应用,并移除虚拟显示设备,同时,与虚拟显示设备对应的子窗口也随之被移除,安卓模拟器不再显示当前任务对应的第二目标界面。
105.进一步地,在另一种安卓模拟器的显示方法中,在子窗口显示第二目标界面具体包括:
106.步骤601,将子窗口对应的虚拟显示设备与当前应用绑定;
107.步骤602,在子窗口显示与当前应用对应的第二目标界面;
108.在预设窗口显示预设的默认应用对应的默认界面,具体包括:
109.步骤603,将预设窗口对应的预设虚拟显示设备与默认应用绑定;
110.步骤604,在预设窗口显示与默认应用对应的默认界面。
111.在该实施例中,将窗口对应的虚拟显示设备与一个应用绑定,该窗口就可以显示这个应用所对应的界面。具体地,每个应用都对应一个应用编码,将应用编码赋值给一个虚拟显示设备,就实现了虚拟显示设备与应用之间的绑定。基于此,将子窗口对应的虚拟显示设备与当前应用绑定,将预设窗口对应的预设显示设备与默认应用绑定,就可以实现子窗口显示第二目标界面,预设窗口显示预设界面的效果。
112.进一步地,在另一种安卓模拟器的显示方法中,在预设窗口显示第二目标界面,具体包括:
113.步骤701,将预设窗口对应的预设虚拟显示设备与当前应用绑定;
114.步骤702,在预设窗口显示与当前应用对应的第二目标界面。
115.在该实施例中,将窗口对应的虚拟显示设备与一个应用绑定,该窗口就可以显示这个应用所对应的界面。基于此,将预设窗口对应的预设显示设备与当前应用绑定,就可以预设窗口显示第二目标界面的效果。
116.进一步地,在另一种安卓模拟器的显示方法中,根据当前应用的状态,判断当前应用是否已独立显示,具体包括:
117.步骤801,根据当前应用的状态,判断当前应用是否处于运行状态;
118.步骤802,如果是,则判断所述当前应用是否与任一独立窗口对应的虚拟显示设备绑定;
119.步骤803,如果是,则当前应用独立显示。
120.在该实施例中,根据当前应用是否已经处于运行状态判断当前应用是否已经启动。若已经启动,则可以根据当前应用是否已绑定了任一个独立窗口对应的虚拟显示设备来判断该应用是否已分配了可以显示内容的独立窗口。如果已分配,那么就认为当前应用已经通过独立窗口实现了独立显示,而不需要再为该应用分配子窗口。
121.进一步地,独立窗口是非预设窗口。
122.进一步地,在另一种安卓模拟器的显示方法中,方法还包括:
123.步骤901,若多个界面以标签形式显示在预设窗口上,则确定在最上层的界面为活动界面;
124.步骤902,确定多个界面中除活动界面的每个界面为暂停界面;
125.步骤903,将每个暂停界面对应的任务设置为暂停状态。
126.在该实施例中,如果多个界面同时显示在预设窗口上,那么预设窗口最上层的界面也就是当前正在显示的界面为活动界面,这个活动界面对应的任务始终保持运行状态,实时显示活动页面对应的应用所输出的信息。而预设窗口中除活动界面外的其他界面对应的任务都设置为暂停状态,降低资源消耗。
127.进一步地,作为上述安卓模拟器的显示方法的具体实现,本技术实施例提供了一种安卓模拟器,如图5所示,该安卓模拟器包括:接收模块、判断模块、置顶模块以及显示模块。
128.接收模块,用于在预设窗口显示已运行应用的情况下,接收启动指令,并根据启动指令启动当前应用;
129.判断模块,用于根据当前应用的状态,判断当前应用是否已独立显示;
130.置顶模块,如果已独立显示,则将当前应用对应的第一目标界面设置为激活状态,并将第一目标界面对应的独立窗口置于顶层;
131.显示模块,如果未独立显示,则将当前应用对应的第二目标界面以标签方式显示在预设窗口上。
132.在具体的应用场景中,可选地,安卓模拟器还包括虚拟显示设备控制模块。
133.虚拟显示设备控制模块,用于响应于第一拖拽指令,创建虚拟显示设备;
134.显示模块,还用于利用虚拟显示设备创建对应的子窗口,并在子窗口显示第二目标界面;
135.显示模块,还用于在预设窗口显示预设的默认应用对应的默认界面。
136.在具体的应用场景中,可选地,安卓模拟器还包括暂停模块。
137.虚拟显示设备控制模块,还用于响应于第二拖拽指令,移除子窗口对应的虚拟显示设备;
138.状态控制模块,用于确定预设窗口中的每个界面对应的应用为后台暂停应用,并暂停后台暂停应用对应的任务;
139.显示模块,还用于在预设窗口显示第二目标界面;
140.虚拟显示设备控制模块,还用于响应于关闭指令,移除当前应用,并移除虚拟显示设备。
141.在具体的应用场景中,可选地,显示模块,还用于:
142.将子窗口对应的虚拟显示设备与当前应用绑定;
143.在子窗口显示与当前应用对应的第二目标界面;
144.将预设窗口对应的预设虚拟显示设备与默认应用绑定;
145.在预设窗口显示与默认应用对应的默认界面。
146.在具体的应用场景中,可选地,显示模块,还用于:
147.将预设窗口对应的预设虚拟显示设备与当前应用绑定;
148.在预设窗口显示与当前应用对应的第二目标界面。
149.在具体的应用场景中,可选地,判断模块具体用于:。
150.根据当前应用的状态,判断所述当前应用是否处于运行状态;
151.如果是,则判断所述当前应用是否与任一独立窗口的虚拟显示设备绑定;
152.如果是,则当前应用独立显示。
153.在具体的应用场景中,可选地,状态控制模块具体用于:
154.若多个界面以标签形式显示在预设窗口上,则确定在最上层的界面为活动界面;
155.确定多个界面中除活动界面的每个界面为暂停界面;
156.将每个暂停界面对应的应用的任务设置为暂停状态。
157.需要说明的是,本技术实施例提供的一种安卓模拟器所涉及各功能模块的其他相应描述,可以参考图1至图4中的对应描述,在此不再赘述。
158.基于上述如图1至图4所示方法,相应的,本技术实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1至图4所示的安卓模拟器的显示方法。
159.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
160.基于上述如图1至图4所示的方法,以及图5所示的安卓模拟器实施例,为了实现上述目的,本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于
执行计算机程序以实现上述如图1至图4所示的安卓模拟器的显示方法。
161.可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。
162.本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
163.存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各控件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
164.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。
165.本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的单元或流程并不一定是实施本技术所必须的。本领域技术人员可以理解实施场景中的装置中的单元可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的单元可以合并为一个单元,也可以进一步拆分成多个子单元。
166.上述本技术序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。