CN114416239B - 一种将Android应用消息通知快速显示在Linux系统上的方法 - Google Patents
一种将Android应用消息通知快速显示在Linux系统上的方法 Download PDFInfo
- Publication number
- CN114416239B CN114416239B CN202111648383.XA CN202111648383A CN114416239B CN 114416239 B CN114416239 B CN 114416239B CN 202111648383 A CN202111648383 A CN 202111648383A CN 114416239 B CN114416239 B CN 114416239B
- Authority
- CN
- China
- Prior art keywords
- message
- android
- linux
- application
- android application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/543—Local
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种Android应用消息通知快速显示在Linux系统上的方法,其应用在Linux兼容Android系统的环境下,包括Linux创建Android应用显示视窗并绑定,该应用发送消息并依次经过Android系统中的Notification模块、监听器服务、事件服务程序;再通过本地socket通信传递到Linux事件服务程序、Android应用显示视窗、Linux系统消息通知模块,最后显示在Linux桌面。本发明Android应用收到的新消息可在Linux端进行快速显示,大大增强了在Linux系统上运行Android应用的消息通知管理,实现了人机交互时的便捷性。
Description
技术领域
本发明属于Android系统上和Linux系统上消息通知领域,特别涉及一种将Android应用消息通知快速显示在Linux系统上的方法。
背景技术
随着国家对信息网络安全的重视,越来越多的操作系统开始考虑兼容性和安全性。Linux系统在由于其安全机制,常常作为安全性能高的操作系统使用;作为基于Linux内核发展而来的Android系统,是目前移动终端市场中市场份额最高的操作系统,在移动终端领域具有极好的生态环境。因此Android应用生态在Linux操作系统上的兼容成为了近期研究热点。国内外许多研究人员正在尝试将Android运行环境迁移到Linux操作系统平台以实现Android应用程序在Linux操作系统上兼容、支持的效果。
众所周知,在Android手机上,各应用可以快速便捷的进行消息通知,以达到及时的提醒用户的目的,比如在QQ、微信里可以给联系人发送信息。当对方手机上的QQ、微信应用在后台或手机息屏时,能通过消息通知模块采用声音或振动方式及时提醒用户查看消息内容。这种通知的方式极大地方便了朋友之间的联系,而在Linux系统上兼容运行的Android应用是运行在容器环境中,导致Linux和Android应用之间的消息通知存在一定的障碍,如何让在Linux上运行的Android兼容环境与Linux之间融合的更加紧密,使得Linux和Android应用之间也能快速进行消息通知的融合,是亟待解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种将Android应用消息通知快速显示在Linux系统上的方法,能够增加Linux上运行的Android兼容环境与Linux之间融合的紧密性,使得Android应用收到的新消息在Linux端快速显示,解决了目前Linux与Android应用之间的存在消息通知障碍的问题。
本发明提供了一种Android应用消息通知快速显示在Linux系统上的方法,所述方法应用在Linux兼容Android系统的环境下,所述方法包括:
步骤S1:Linux创建Android应用显示视窗并绑定Android应用;
步骤S2:Android应用发送消息通知Android系统的Notification模块;
步骤S3:Notification模块触发Android消息通知监听器服务;
步骤S4:监听器服务将消息处理后转发到Android事件服务程序;
步骤S5:Android事件服务程序通过本地socket通信传递信息到Linux事件服务程序;
步骤S6:Linux事件服务程序将消息转发到Android应用显示视窗;
步骤S7:Android应用显示视窗程序向Linux系统消息通知模块发送消息并显示在Linux桌面。
其中,在步骤S1之前,还包括如下步骤:
步骤Sa:在Linux操作系统上运行容器里的Android兼容环境;
步骤Sb:初始化Android消息通知监听器服务模块;
步骤Sc:Linux端和Android端的事件服务程序建立本地socket通信;
步骤Sd:Linux端通过本地socket通信发送启动Android应用的请求;
步骤Se:启动Android应用的请求信息发送给Android系统;
步骤Sf:Android系统根据请求启动对应的Android应用。
其中,步骤S1具体包括:
步骤S101:Linux系统创建Android应用显示视窗;
步骤S102:Android端通过Zygote进程创建Android应用进程;
步骤S103:Android应用与Android应用显示视窗绑定包含其参数;
步骤S104:Linux端的服务程序根据Android应用的参数创建对应的图形窗口,完成窗口绑定并显示。
其中,参数包括displayId和包名。
其中,步骤S4中Android消息通知监听器服务对消息进行如下处理:
获取消息通知内容;
判断该消息所属应用对应的窗口是否已存在;
若应用窗口不存在,则不进行通知;
若应用窗口存在,则判断消息是前台消息还是后台消息;
若为前台消息,则不进行通知;
若为后台消息,则判断此应用是否属于白名单应用;
若不是,则不进行通知;
若是,则发送消息到Android事件服务程序。
其中,Linux事件服务程序将消息转发到Android应用显示视窗的实现操作包括:
根据消息内容,判断消息所属的应用在Android应用显示视窗是否存在;
若不存在,Linux事件服务程序不转发消息;
若存在,判断当前窗口是否聚焦
若聚焦,则不进行通知,直接显示;
若不聚焦,Android应用显示视窗接收消息,通过Dbus转发到Linux消息通知模块。
其中,步骤S7中显示在Linux桌面方式包括任务栏图标闪烁提示、应用托盘图标闪烁提示和消息弹窗。
其中,点击消息弹窗弹出对应Android应用的图形界面。
本发明提供了一种Android应用消息通知快速显示在Linux系统上的方法,对运行在Linux桌面操作系统上的Android应用进行消息通知兼容,将其消息通知整合到Linux操作系统通知管理中,大大增强了在Linux系统上运行Android应用的消息通知管理,使得Linux上运行的Android兼容环境与Linux之间融合的更加紧密,Linux和Android应用之间能够快速进行消息通知的融合,实现了人机交互时的便捷性,且Linux操作系统上运行Linux应用和Android应用有一致的及时显示消息通知的效果和目的,极大地提升了用户体验感受,解决了目前Linux与Android应用之间的存在消息通知障碍的问题。
附图说明
图1是本发明Linux系统和Android系统消息通知交互示意图;
图2是本发明Android消息通知监听器服务对消息事件处理流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
图1为本发明Linux系统和Android系统消息通知交互示意图,由图1可知,Linux系统与Android系统通过本地socket通信传递信息,将Android系统中Android应用收到的新消息在Linux端进行显示。
为了实现Android系统中Android应用收到的新消息在Linux端进行显示,本发明提供了一种Android应用消息通知快速显示在Linux系统上的方法,方法应用在Linux兼容Android系统的环境下,方法包括:
步骤S1:Linux创建Android应用显示视窗并绑定Android应用;
Android应用与Linux创建Android应用显示视窗绑定,用以实现Android应用收到的新消息在Linux端进行显示。
在本发明的实施例中,Linux创建Android应用显示视窗并绑定Android应用之前,还包括如下步骤:
步骤Sa:在Linux操作系统上运行容器里的Android兼容环境;
步骤Sb:初始化Android消息通知监听器服务模块;
步骤Sc:Linux端和Android端的事件服务程序建立本地socket通信;
步骤Sd:Linux端通过socket发送启动Android应用的请求;
步骤Se:启动Android应用的请求发送给Android系统;
步骤Sf:Android系统根据请求启动对应的Android应用。
通过在Linux操作系统运行容器里的Android兼容环境,Linux端和Android端建立本地socket通信,使得Android应用可以在Linux系统进行无障碍的消息通知,以实现Android应用收到的新消息在Linux端进行显示。
在本发明的实施例中,Linux创建Android应用显示视窗并绑定Android应用,具体包括:
步骤S101:Linux系统创建Android应用显示视窗;
步骤S102:Android端通过Zygote进程创建Android应用进程;
步骤S103:Android应用与Android应用显示视窗绑定包含其参数;
步骤S104:Linux端的服务程序根据应用的参数创建对应的图形窗口,完成窗口绑定并显示。
其中,步骤S103和步骤S104中参数包括但不限于displayId和包名。
步骤S2:Android应用发送消息通知Android系统的Notification模块;
步骤S3:Notification模块触发Android消息通知监听器服务;
步骤S4:监听器服务将消息处理后转发到Android事件服务程序;
在本申请实施例中,Android消息通知监听器服务对消息进行如下处理(参见图2,图2为上述Android消息通知监听器服务对消息事件处理流程示意图):
获取消息通知内容;
判断该消息所属应用对应的窗口是否已存在;
若应用窗口不存在,则不进行通知;
若应用窗口存在,则判断消息是前台消息还是后台消息;
若为前台消息,则不进行通知;
若为后台消息,则判断此应用是否属于白名单应用;
若不是,则不进行通知;
若是,则发送消息到Android事件服务程序。
需要说明的是,上述Android端处理消息的流程包括但不限于上述提到的窗口程序状态、消息内容、应用传递消息名单。
步骤S5:Android事件服务程序通过本地socket通信传递信息到Linux事件服务程序;
步骤S6:Linux事件服务程序将消息发到Android应用显示视窗;
在本发明的实施例中,Linux事件服务程序将消息转发到Android应用显示视窗的实现操作包括:
根据消息内容,判断消息所属的应用在Android应用显示视窗是否存在;
若不存在,Linux事件服务程序不转发消息;
若存在,判断当前窗口是否聚焦
若聚焦,则不进行通知,直接显示;
若不聚焦,Android应用显示视窗接收消息,通过Dbus转发到Linux消息通知模块。
步骤S7:Android应用显示视窗程序向Linux系统消息通知模块发送消息并显示在Linux桌面。
在本发明的实施例中,Android应用消息显示在Linux桌面方式包括任务栏图标闪烁提示、应用托盘图标闪烁提示和消息弹窗。其中,当点击消息弹窗,可以弹出对应Android应用的图形界面,具体为:
当Android应用在后台运行时,Linux创建的Android应用显示视窗程序处于非激活状态,此时如果Android应用有消息通知发送,窗口程序收到应用消息后将执行函数QApplication::alert(this)让任务栏图标高亮,通过定时器每隔500ms调用setWindowIcon()和setTrayIcon()函数改变任务栏图标和托盘图标,实现图标的闪烁提示效果,并调用Dbus服务Notifications模块的Notify()方法来执行弹窗消息,Notify()的actions参数绑定了动作按钮,在消息弹窗中点击动作按钮,可以打开对应的Android应用的图形窗口。
本发明提供了一种Android应用消息通知快速显示在Linux系统上的方法,为运行在容器中的Android应用提供一种消息快速显示在Linux系统上的机制,对运行在Linux桌面操作系统上的Android应用进行消息通知兼容,将其消息通知整合到Linux操作系统通知管理中,大大增强了在Linux系统上运行Android应用的消息通知管理,实现了人机交互时的便捷性,且Linux操作系统上的Linux应用和Android应用有一致的显示效果的目的,极大地提升用户体验感受。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (7)
1.一种Android应用消息通知快速显示在Linux系统上的方法,其特征在于,所述方法应用在Linux兼容Android系统的环境下,Android应用收到的新消息在Linux端进行显示,所述方法包括如下步骤:
步骤Sa:在Linux操作系统上运行容器里的Android兼容环境;
步骤Sb:初始化Android消息通知监听器服务模块;
步骤Sc:Linux端和Android端的事件服务程序建立本地socket通信;
步骤Sd:Linux端通过本地socket通信发送启动Android应用的请求;
步骤Se:启动Android应用的请求信息发送给Android系统;
步骤Sf:Android系统根据请求启动对应的Android应用;
步骤S1:Linux创建Android应用显示视窗并绑定Android应用;
步骤S2:Android应用发送消息通知Android系统的Notification模块;
步骤S3:Notification模块触发Android消息通知监听器服务;
步骤S4:监听器服务将Android消息处理后转发到Android事件服务程序;
步骤S5:Android事件服务程序通过本地socket通信传递信息到Linux事件服务程序;
步骤S6:Android消息通知Linux事件服务程序将消息转发到Android应用显示视窗;
步骤S7:Android应用显示视窗程序向Linux系统消息通知模块发送消息并显示在Linux桌面。
2.根据权利要求1所述的Android应用消息通知快速显示在Linux系统上的方法,其特征在于,步骤S1具体包括:
步骤S101:Linux系统创建Android应用显示视窗;
步骤S102:Android端通过Zygote进程创建Android应用进程;
步骤S103:Android应用与Android应用显示视窗绑定包含其参数;
步骤S104:Linux端的服务程序根据Android应用的参数创建对应的图形窗口,完成窗口绑定并显示。
3.根据权利要求2所述的Android应用消息通知快速显示在Linux系统上的方法,其特征在于,参数包括displayId和包名。
4.根据权利要求1所述的Android应用消息通知快速显示在Linux系统上的方法,其特征在于,步骤S4中Android消息通知监听器服务对消息进行如下处理:
获取消息通知内容;
判断该消息所属应用对应的窗口是否已存在;
若应用窗口不存在,则不进行通知;
若应用窗口存在,则判断消息是前台消息还是后台消息;
若为前台消息,则不进行通知;
若为后台消息,则判断此应用是否属于白名单应用;
若不是,则不进行通知;
若是,则发送消息到Android事件服务程序。
5.根据权利要求1所述的一种Android应用消息通知快速显示在Linux系统上的方法,其特征在于,Linux事件服务程序将消息转发到Android应用显示视窗的实现操作包括:
根据消息内容,判断消息所属的应用在Android应用显示视窗是否存在;
若不存在,Linux事件服务程序不转发消息;
若存在,判断当前窗口是否聚焦;
若聚焦,则不进行通知,直接显示;
若不聚焦,Android应用显示视窗接收消息,通过Dbus转发到Linux消息通知模块。
6.根据权利要求1所述的一种Android应用消息通知快速显示在Linux系统上的方法,其特征在于,步骤S7中显示在Linux桌面方式包括任务栏图标闪烁提示、应用托盘图标闪烁提示和消息弹窗。
7.根据权利要求6所述的一种Android应用消息通知快速显示在Linux系统上的方法,其特征在于,点击消息弹窗弹出对应Android应用的图形界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648383.XA CN114416239B (zh) | 2021-12-30 | 2021-12-30 | 一种将Android应用消息通知快速显示在Linux系统上的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648383.XA CN114416239B (zh) | 2021-12-30 | 2021-12-30 | 一种将Android应用消息通知快速显示在Linux系统上的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416239A CN114416239A (zh) | 2022-04-29 |
CN114416239B true CN114416239B (zh) | 2023-08-22 |
Family
ID=81270311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111648383.XA Active CN114416239B (zh) | 2021-12-30 | 2021-12-30 | 一种将Android应用消息通知快速显示在Linux系统上的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416239B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095383A1 (zh) * | 2014-12-19 | 2016-06-23 | 中兴通讯股份有限公司 | 一种实现应用调用的方法及虚拟机 |
CN108390989A (zh) * | 2018-01-05 | 2018-08-10 | 郑州信大捷安信息技术股份有限公司 | 一种基于Android双系统的系统间通知同步方法 |
CN112269604A (zh) * | 2020-11-11 | 2021-01-26 | 北京技德系统技术有限公司 | 在Linux上兼容运行Android应用的窗口交互方法及装置 |
CN112860363A (zh) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | 一种基于Linux系统的Android应用窗口状态动态更新方法 |
CN113778280A (zh) * | 2021-09-13 | 2021-12-10 | 北京技德系统技术有限公司 | 一种Linux兼容Android的显示消息通知方法及装置 |
CN113791920A (zh) * | 2021-11-18 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | 双系统通信方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876906B (zh) * | 2010-03-31 | 2013-08-21 | 北京播思软件技术有限公司 | 一种利用Linux应用在Android系统中运行的方法及装置 |
US10757218B2 (en) * | 2017-03-29 | 2020-08-25 | Alibaba Group Holding Limited | Method and apparatus for generating push notifications |
-
2021
- 2021-12-30 CN CN202111648383.XA patent/CN114416239B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016095383A1 (zh) * | 2014-12-19 | 2016-06-23 | 中兴通讯股份有限公司 | 一种实现应用调用的方法及虚拟机 |
CN108390989A (zh) * | 2018-01-05 | 2018-08-10 | 郑州信大捷安信息技术股份有限公司 | 一种基于Android双系统的系统间通知同步方法 |
CN112269604A (zh) * | 2020-11-11 | 2021-01-26 | 北京技德系统技术有限公司 | 在Linux上兼容运行Android应用的窗口交互方法及装置 |
CN112860363A (zh) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | 一种基于Linux系统的Android应用窗口状态动态更新方法 |
CN113778280A (zh) * | 2021-09-13 | 2021-12-10 | 北京技德系统技术有限公司 | 一种Linux兼容Android的显示消息通知方法及装置 |
CN113791920A (zh) * | 2021-11-18 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | 双系统通信方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114416239A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491275B (zh) | 程序优化方法、装置、终端及存储介质 | |
CN106201409B (zh) | 一种应用程序操作界面的处理方法及系统 | |
WO2014101376A1 (zh) | 任务事件处理方法和装置 | |
CN108400925B (zh) | 即时通讯消息的提醒方法及即时通讯客户端 | |
CN103973547B (zh) | 图片显示方法和装置 | |
US10222969B2 (en) | Data transmission method and device | |
CN113687888B (zh) | 在Linux系统上兼容运行Android应用的文件分享方法 | |
CN103064732A (zh) | 通过消息管理器对第三方应用消息接管的方法 | |
CN104049847A (zh) | 一种移动终端的信息提示方法及系统 | |
EP2562984A1 (en) | Method and device for processing desktop sharing | |
US20140325385A1 (en) | Methods and instant messaging client devices for performing im using menu option | |
CN104639423A (zh) | 一种信息交互方法、装置及终端 | |
CN113825258B (zh) | 基于FirefoxOS的多模通信方法及操作系统 | |
CN102902580A (zh) | 一种程序回调方法及装置 | |
CN115022262B (zh) | 一种会话处理方法、装置、设备及介质 | |
CN105635201A (zh) | 一种基于推送消息的应用程序启动方法及系统 | |
CN109783427A (zh) | 联动式日程提醒的实现方法、服务器及系统 | |
CN113207194B (zh) | 一种基于麒麟移动操作系统的多模通信实现方法及装置 | |
CN113778280A (zh) | 一种Linux兼容Android的显示消息通知方法及装置 | |
CN114416239B (zh) | 一种将Android应用消息通知快速显示在Linux系统上的方法 | |
CN104702701A (zh) | 一种数据分享方法及装置 | |
CN104038642B (zh) | 一种响应来电的方法及装置 | |
EP3190774B1 (en) | Interface sharing method and terminal device | |
CN110995706B (zh) | 用于通讯应用的身份验证系统、方法、设备和存储介质 | |
CN108289056B (zh) | 分享动态图表的方法、装置以及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |