一种安卓应用图标在Linux任务栏的显示方法与流程

文档序号:29309159发布日期:2022-03-19 19:33阅读:340来源:国知局
一种安卓应用图标在Linux任务栏的显示方法与流程
一种安卓应用图标在linux任务栏的显示方法
技术领域
1.本发明属于在桌面操作系统上安装移动应用的开发技术领域,具体涉及一种安卓应用图标在linux任务栏的显示方法。


背景技术:

2.linux操作系统安卓兼容环境(下文简称安卓兼容环境)是一种在linux操作系统上运行安卓应用(app)的技术,对丰富linux操作系统应用生态有着重要的意义。xdroid就是典型的linux操作系统安卓兼容环境,通过xdroid与xdroidui的配合实现了安卓应用与linux操作系统的兼容。现有安卓兼容环境中安卓应用通常都是由一个进程创建的,而linux系统中同一进程只能对应一个图标显示在任务栏中,因此,安卓兼容环境中创建的所有安卓应用在linux系统的任务栏中仅能显示为一个图标。通常情况下,linux系统用户习惯通过任务栏上的图标激活或选择对应的应用程序,但是由于所有的安卓应用仅显示为一个图标,这就给linux系统用户操作安卓应用带来不便,从而降低了用户体验。


技术实现要素:

3.有鉴于此,本发明提供了一种安卓应用图标在linux任务栏的显示方法,能够在linux平台的安卓兼容环境中实现运行中的安卓应用均能独立地显示在linux系统的任务栏中。
4.本发明提供的一种安卓应用图标在linux任务栏的显示方法,包括以下步骤:步骤1、当安卓兼容环境监测到安卓应用窗口的状态发生变化时,获取变化的安卓应用窗口的taskid,向运行在linux系统上的安卓应用显示程序发送安卓应用窗口变化消息,其中,所述安卓应用窗口变化消息包含安卓应用名称、taskid、安卓应用包名、版本及窗口变化情况,所述窗口变化情况包括创建、销毁、显示、刷新及尺寸变化量;步骤2、所述安卓应用显示程序根据所述安卓应用窗口变化消息,判断当前linux系统中是否存在与所述安卓应用窗口变化消息具有相同安卓应用包名的安卓应用窗口,若不存在则执行步骤3,否则执行步骤4;步骤3、所述安卓应用显示程序在linux系统中查找是否存在名称中包含所述安卓应用窗口变化消息的安卓应用名称及版本的可执行的任务图标显示程序,如果存在,则执行任务图标显示程序,记录安卓应用包名与启动的任务图标显示程序之间的显示对应关系;如果不存在,则根据安卓应用包名获取该安卓应用的图标,根据安卓应用名称、图标及版本创建任务图标显示程序,任务图标显示程序的名称中包含安卓应用名称及版本,编译执行任务图标显示程序,记录安卓应用包名与启动的任务图标显示程序之间的显示对应关系;将显示对应关系保存在显示对应关系表中,再创建安卓应用窗口;所述任务图标显示程序用于创建linux窗口,所述linux窗口的图标为安卓应用的图标;步骤4、所述安卓应用显示程序根据所述安卓应用窗口变化消息中的安卓应用包名在显示对应关系表中找到与之对应的已启动的任务图标显示程序;当窗口变化情况为销
毁时,执行步骤5;当窗口变化情况为显示、刷新及尺寸变化量时,则执行步骤6;步骤5、若所述安卓应用窗口变化消息的安卓应用窗口为其安卓应用在linux中的唯一窗口,则退出任务图标显示程序,并通知所述安卓应用显示程序退出安卓应用、关闭安卓应用窗口;否则,则通知所述安卓应用显示程序根据taskid关闭相应的安卓应用窗口;步骤6、高亮显示任务图标显示程序在linux任务栏中的图标,再通知所述安卓应用显示程序根据所述安卓应用窗口变化消息调整安卓应用窗口。
5.进一步地,所述任务图标显示程序用于创建的linux窗口,且能够处理任务栏右键菜单事件,所述任务栏右键菜单事件包括:点击事件、隐藏事件、最小化事件及退出事件。
6.进一步地,所述linux窗口能够处理任务栏右键菜单事件的方式为:对于所述点击事件通过ipc通知所述安卓应用显示程序激活安卓应用窗口;对于所述隐藏事件和最小化事件通过ipc通知所述安卓应用显示程序将安卓应用窗口最小化;对于所述退出事件通过ipc通知所述安卓应用显示程序退出安卓应用窗口及所述任务图标显示程序。
7.进一步地,所述linux窗口为隐形窗口。
8.进一步地,所述linux窗口的显示尺寸设置为1
×
1个像素。
9.进一步地,所述linux窗口的图层设置为透明。
10.进一步地,所述任务图标显示程序为根据输入的安卓应用的名称、图标及版本创建linux窗口的通用程序,执行任务图标显示程序后,记录安卓应用包名与启动的任务图标显示程序id之间的显示对应关系。
11.有益效果:本发明通过在安卓兼容环境中监测安卓应用窗口的状态变化,并根据窗口状态的变化在linux系统中创建任务图标显示程序,由任务图标显示程序将安卓应用的图标显示在linux系统的任务栏中,从而解决了安卓兼容环境中所有安卓应用显示为任务栏中的同一图标的问题,有效提高了操作的便利性,改善了用户体验。
附图说明
12.图1为本发明提供的一种安卓应用图标在linux任务栏的显示方法的流程图。
具体实施方式
13.下面结合附图并举实施例,对本发明进行详细描述。
14.本发明提供了一种安卓应用图标在linux任务栏的显示方法,其核心思想是:通过在安卓兼容环境中监测安卓应用窗口的状态变化,再根据窗口状态的变化在linux系统中创建任务图标显示程序,由任务图标显示程序将安卓应用的图标显示在linux系统的任务栏中。
15.本发明提供了一种安卓应用图标在linux任务栏的显示方法,流程如图1所示,具体包括以下步骤:步骤1、当安卓兼容环境监测到安卓应用窗口的状态发生变化时,安卓兼容环境获取与变化窗口相对应的taskid后,向运行在linux系统上的安卓应用显示程序发送安卓应用窗口变化消息,其中,安卓应用窗口变化消息包含安卓应用名称、taskid、安卓应用包名、版本及窗口变化情况等属性,窗口变化情况包括创建、销毁、显示、刷新及尺寸变化量。
16.在安卓系统中安卓应用窗口具有唯一的taskid,通过该taskid能够获取toa安卓应用窗口与安卓应用程序之间的对应关系。
17.具体过程为,当用户创建安卓应用窗口时,安卓兼容环境向linux系统上的安卓应用显示程序发送带有创建属性的安卓应用窗口变化消息;当用户销毁安卓应用窗口时,安卓兼容环境向linux系统上的安卓应用显示程序发送带有销毁属性的安卓应用窗口变化消息;当用户显示安卓应用窗口时,安卓兼容环境向linux系统上的安卓应用显示程序发送带有显示属性的安卓应用窗口变化消息;当用户刷新安卓应用窗口时,安卓兼容环境向linux系统上的安卓应用显示程序发送带有刷新属性的安卓应用窗口变化消息;当用户调整安卓应用窗口的尺寸时,安卓兼容环境向linux系统上的安卓应用显示程序发送带有尺寸变化量的安卓应用窗口变化消息。
18.本发明可采用异步rpc调用的方式将安卓应用窗口变化消息发送至安卓应用显示程序。
19.步骤2、安卓应用显示程序接收到安卓应用窗口变化消息后,判断目前linux系统中是否存在与安卓应用窗口变化消息中安卓应用包名相关的安卓应用窗口,若不存在则执行步骤3,否则执行步骤4。
20.步骤3、安卓应用显示程序在linux系统中查找是否存在名称中包含了安卓应用名称及版本的可执行的任务图标显示程序,如果存在,则执行该任务图标显示程序,记录安卓应用包名与启动的任务图标显示程序之间的显示对应关系,将显示对应关系保存在显示对应关系表中;如果不存在,则根据安卓应用包名获取该安卓应用的图标,再根据安卓应用名称、图标及版本创建任务图标显示程序,任务图标显示程序的名称中包含安卓应用名称及版本,编译执行任务图标显示程序,记录安卓应用包名与启动的任务图标显示程序之间的显示对应关系,将显示对应关系保存在显示对应关系表中。然后,安卓应用显示程序再创建安卓应用窗口。
21.具体来说,对于不存在与安卓应用窗口变化消息中的安卓应用包名相关的安卓应用窗口的情况来说,安卓应用窗口变化消息中的窗口变化情况属性值应为创建,即该安卓应用为新启动和创建的。
22.一般情况下,在linux系统中,如果可执行程序编译时包含了图标,那么该可执行程序启动后,在linux窗口管理器任务栏就会正确显示该可执行程序的图标及其应用名称。
23.因此,本发明中的任务图标显示程序是基于linux上的ui库(qt、gtk等)创建的可执行程序。任务图标显示程序会创建一个隐形的linux窗口,窗口标题设置为当前安卓应用程序的名称,同时,能够处理来自任务栏的事件,来自任务栏的事件是指任务栏右键菜单事件,包括:点击、隐藏、最小化及退出事件等。对于点击事件的处理方式为,通过ipc(inter-process communication,进程间通信)告知xdroidui激活对应的安卓应用窗口;对于隐藏和最小化事件的处理方式为,通过ipc告知xdroidui最小化对应的安卓应用窗口;对于退出事件的处理方式为,通过ipc告知xdroidui退出对应的安卓应用窗口,同时,退出任务图标显示程序本身的进程。
24.进一步地,为了提高执行效率,将任务图标显示程序设计为创建隐形linux窗口的通用程序,安卓应用名称、图标及版本作为任务图标显示程序的参数。由此,安卓应用程序不必再创建自己的任务图标显示程序,而只需要以安卓应用的名称、图标及版本为参数调
用任务图标显示程序即可。而此时,需要记录安卓应用包名与启动的任务图标显示程序id之间的显示对应关系。
25.此外,为了实现任务图标显示程序创建的linux窗口能够隐形,可采用将窗口大小设置为1
×
1个像素,或者将窗口设置为透明的。
26.步骤4、安卓应用显示程序根据安卓应用窗口变化消息中的安卓应用包名在显示对应关系表中找到与之对应的已启动的任务图标显示程序;当窗口变化情况为销毁时,执行步骤5;当窗口变化情况为显示、刷新及尺寸变化量时,则执行步骤6。
27.步骤5、若安卓应用窗口变化消息相关的安卓应用窗口为安卓应用当前显示的唯一窗口,则退出任务图标显示程序,并通知安卓应用显示程序关闭安卓应用窗口;否则,则通知安卓应用显示程序根据taskid关闭安卓应用窗口变化消息相关的安卓应用窗口。
28.步骤6、将当前任务图标显示程序在任务栏的图标高亮显示,再根据消息内容通知安卓应用显示程序调整安卓应用窗口。
29.综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1