一种Linux兼容Android的显示消息通知方法及装置制造方法及图纸

技术编号:31316001 阅读:12 留言:0更新日期:2021-12-12 23:53
本发明专利技术公开了一种Linux兼容Android的显示消息通知方法及装置,Android系统框架服务层监听消息通知,获取消息所属的应用包名、应用名称;Android服务进程根据应用的包名查询应用名称,将应用包名、应用名称、消息内容、Linux系统上应用的窗口ID封装成一个数据结构体,再将数据结构体转换成数据流通过socket发送给Linux;Linux接收到数据流后,将数据流反序列化后发送给消息处理中心;将消息通知在消息通知中心显示或在系统通知托盘中闪烁通知或通过浮窗通知。实现了在Linux系统上显示Android应用的消息通知,将Android的消息通知和Linux桌面通知完美融合。和Linux桌面通知完美融合。和Linux桌面通知完美融合。

【技术实现步骤摘要】
一种Linux兼容Android的显示消息通知方法及装置


[0001]本专利技术涉及计算机操作系统领域,尤其涉及一种Linux兼容Android的显示消息通知方法及装置。

技术介绍

[0002]用户在Linux兼容Android环境中运行使用Android应用时,Android应用的消息通知对用户是非常重要的功能,例如:用户使用微信或QQ App时经常会收到来自好友的消息提醒,这对用户非常重要。针对这种场景,Linux兼容Android环境可以直接使用Android原生的消息提醒功能,但是,使用这种方案有以下三个严重弊端无法解决:
[0003]弊端一:Android原生的消息提醒在应用窗口的顶部出现,这会导致每个应用窗口都会出现大量通知,杂乱无章,况且在应用窗口内部出现消息提醒,这与Linux系统体验完全不符。用户需要在应用窗口内下拉顶部的菜单栏才能显示通知内容,这不是桌面操作系统的交互过程,体验极差。
[0004]弊端二:在Android兼容环境中每一个应用都占用一个独立的窗口,如果在一个应用窗口内部出现其他应用的消息通知或系统消息,用户点击这些消息通知时,系统没有办法做相应的逻辑处理。
[0005]弊端三:目前大部分的消息通知是应用进入后台之后才能够接收到,但是在Android兼容环境中,每一个应用都是一个独立的窗口,所有的应用都在前台,没有应用处于后台,这将导致大部分消息通知无法接收。

技术实现思路

[0006]为了解决如何在Linux兼容Android环境中,获取Android应用的消息通知,及时通知提醒用户的问题,本专利技术提供了一种Linux兼容Android的显示消息通知方法及装置。
[0007]一方面,本专利技术提供一种Linux兼容Android的显示消息通知方法,所述方法包括如下步骤:
[0008]步骤S1:Android系统框架服务层监听消息通知,获取消息所属的应用包名、应用名称;
[0009]步骤S2:Android服务进程根据应用的包名查询应用名称,将应用包名、应用名称、消息内容、Linux系统上应用的窗口ID封装成一个数据结构体,再将数据结构体转换成数据流通过socket发送给Linux;
[0010]步骤S3:Linux接收到数据流后,将数据流反序列化转换成数据结构体,将数据结构体发送给消息处理中心;
[0011]步骤S4:消息处理中心根据应用窗口数据字典的应用包名与应用窗口的映射关系,判断应用窗口是否为活跃窗口,若应用窗口为活跃窗口,则将消息通知丢弃不予处理;若应用窗口为非活跃窗口,则将消息通知在消息通知中心显示或在系统通知托盘中闪烁通知或通过浮窗通知。
[0012]进一步地,所述方法在步骤S1之前,还包括:
[0013]在Linux系统上启动一个后台服务进程,所述后台服务进程启动一个本地套接字服务端,所述套接字服务端启动以后等待Android侧的进程连接,如果没有连接,套接字服务端一直阻塞等待连接;当Android侧的进程连接上套接字服务端,并向套接字服务端发送数据包时,阻塞就被解除,执行相应的数据处理逻辑。
[0014]进一步地,所述方法中消息通知通过浮窗通知,具体为:
[0015]根据应用包名获取通知需要显示的应用图标;
[0016]将应用名称、图标路径、消息内容、消息超时时间打包成一个参数列表;
[0017]获取新消息ID值;将所述新消息ID值存在一个数据字典中,键为应用包名,值为消息ID,以使应用包名与消息ID对应;
[0018]在Linux系统界面顶部显示一个浮窗消息,消息显示应用名称、图标及消息内容;待超过超时时间后自动关闭浮窗,将消息显示到消息通知中心。
[0019]进一步地,所述方法中消息通知在系统通知托盘中闪烁通知,具体为:
[0020]根据数据结构体中的应用包名在数据字典中查找,如果查找到应用的托盘通知对象的图标,则调用显示函数将应用图标显示出来,并开启定时器,定时器每间隔一定时间超时一次,每次超时的时候交替显示托盘通知的图标,使图标闪烁;如果没有查找到应用的托盘通知对象的图标,则创建一个托盘图标对象,将该对象的图标设置为Android应用图标,并将此对象加入到数据字典,同时开启一个定时器,定时器每间隔一定时间超时一次,每次超时的时候交替显示托盘通知的图标,使图标闪烁。
[0021]进一步地,所述方法还包括:
[0022]当关闭Android应用窗口或将应用窗口由非活跃窗口切换为活跃窗口时,移除消息通知中心的应用通知,隐藏系统托盘的闪烁通知。
[0023]另一方面,本专利技术提供一种Linux兼容Android的显示消息通知装置,所述装置包括:
[0024]存储器,用于存储程序;
[0025]处理器,用于执行所述存储器中存储的程序,当所述存储器中存储的程序被执行时,所述处理器用于:
[0026]Android系统框架服务层监听消息通知,获取消息所属的应用包名、应用名称;
[0027]Android服务进程根据应用的包名查询应用名称,将应用包名、应用名称、消息内容、Linux系统上应用的窗口ID封装成一个数据结构体,再将数据结构体转换成数据流通过socket发送给Linux;
[0028]Linux接收到数据流后,将数据流反序列化转换成数据结构体,将数据结构体发送给消息处理中心;
[0029]消息处理中心根据应用窗口数据字典的应用包名与应用窗口的映射关系,判断应用窗口是否为活跃窗口,若应用窗口为活跃窗口,则将消息通知丢弃不予处理;若应用窗口为非活跃窗口,则将消息通知在消息通知中心显示或在系统通知托盘中闪烁通知或通过浮窗通知。
[0030]进一步地,所述处理器用于:
[0031]在Linux系统上启动一个后台服务进程,所述后台服务进程启动一个本地套接字
服务端,所述套接字服务端启动以后等待Android侧的进程连接,如果没有连接,套接字服务端一直阻塞等待连接;当Android侧的进程连接上套接字服务端,并向套接字服务端发送数据包时,阻塞就被解除,执行相应的数据处理逻辑。
[0032]进一步地,所述处理器用于:
[0033]根据应用包名获取通知需要显示的应用图标;
[0034]将应用名称、图标路径、消息内容、消息超时时间打包成一个参数列表;
[0035]获取新消息ID值;将所述新消息ID值存在一个数据字典中,键为应用包名,值为消息ID,以使应用包名与消息ID对应;
[0036]在Linux系统界面顶部显示一个浮窗消息,消息显示应用名称、图标及消息内容;待超过超时时间后自动关闭浮窗,将消息显示到消息通知中心。
[0037]进一步地,所述处理器用于:
[0038]根据数据结构体中的应用包名在数据字典中查找,如果查找到应用的托盘通知对象的图标,则调用显示函数将应用图标显示出来,并开启定时器,定时器每间隔一定时间超时一次,每次本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Linux兼容Android的显示消息通知方法,其特征在于,所述方法包括如下步骤:步骤S1:Android系统框架服务层监听消息通知,获取消息所属的应用包名、应用名称;步骤S2:Android服务进程根据应用的包名查询应用名称,将应用包名、应用名称、消息内容、Linux系统上应用的窗口ID封装成一个数据结构体,再将数据结构体转换成数据流通过socket发送给Linux;步骤S3:Linux接收到数据流后,将数据流反序列化转换成数据结构体,将数据结构体发送给消息处理中心;步骤S4:消息处理中心根据应用窗口数据字典的应用包名与应用窗口的映射关系,判断应用窗口是否为活跃窗口,若应用窗口为活跃窗口,则将消息通知丢弃不予处理;若应用窗口为非活跃窗口,则将消息通知在消息通知中心显示或在系统通知托盘中闪烁通知或通过浮窗通知。2.如权利要求1所述的Linux兼容Android的显示消息通知方法,其特征在于,所述方法在步骤S1之前,还包括:在Linux系统上启动一个后台服务进程,所述后台服务进程启动一个本地套接字服务端,所述套接字服务端启动以后等待Android侧的进程连接,如果没有连接,套接字服务端一直阻塞等待连接;当Android侧的进程连接上套接字服务端,并向套接字服务端发送数据包时,阻塞就被解除,执行相应的数据处理逻辑。3.如权利要求1所述的Linux兼容Android的显示消息通知方法,其特征在于,所述方法中消息通知通过浮窗通知,具体为:根据应用包名获取通知需要显示的应用图标;将应用名称、图标路径、消息内容、消息超时时间打包成一个参数列表;获取新消息ID值;将所述新消息ID值存在一个数据字典中,键为应用包名,值为消息ID,以使应用包名与消息ID对应;在Linux系统界面顶部显示一个浮窗消息,消息显示应用名称、图标及消息内容;待超过超时时间后自动关闭浮窗,将消息显示到消息通知中心。4.如权利要求1所述的Linux兼容Android的显示消息通知方法,其特征在于,所述方法中消息通知在系统通知托盘中闪烁通知,具体为:根据数据结构体中的应用包名在数据字典中查找,如果查找到应用的托盘通知对象的图标,则调用显示函数将应用图标显示出来,并开启定时器,定时器每间隔一定时间超时一次,每次超时的时候交替显示托盘通知的图标,使图标闪烁;如果没有查找到应用的托盘通知对象的图标,则创建一个托盘图标对象,将该对象的图标设置为Android应用图标,并将此对象加入到数据字典,同时开启一个定时器,定时器每间隔一定时间超时一次,每次超时的时候交替显示托盘通知的图标,使图标闪烁。5.如权利要求1所述的Linux兼容Android的显示消息通知方法,其特征在于,所述方法还包括:当关闭Android应用窗口或将应用窗口由非活跃窗口切换为活跃窗口时,移除消息通知中心的应用通知,隐藏系统托盘的闪烁通知。6.一种...

【专利技术属性】
技术研发人员:李志法舒三毛姚宏亮张耀斌鄢来标
申请(专利权)人:北京技德系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1