一种Android消息通知分发方法技术

技术编号:19436632 阅读:154 留言:0更新日期:2018-11-14 13:12
一种Android消息通知分发方法,包括如下步骤:使用最高优先级注册一个事件订阅者;以最低优先级注册一个Subscriber称为EventReceiver;Android系统根据消息创建事件Event并通过EventBus发送;所有注册的Subscriber根据优先级高低先后接收到Event,优先级高先接收,优先级低后接收;如果EventInterceptor接收到事件Event,从事件Event中取出参数sendNotification,将其置为false,如果EventInterceptor没有接收到事件Event,EventInterceptor被反注册掉;当EventReceiver接收到事件Event时,则不发送状态栏通知,将消息在聊天界面展示,如果参数sendNotification值为true,将其发送出去。不需要考虑机型适配的问题,降低了开发成本。

【技术实现步骤摘要】
一种Android消息通知分发方法
本专利技术涉及Android通讯
,具体涉及一种Android消息通知分发方法。
技术介绍
在即时通讯类产品中,处理并展示消息是客户端必不可少的一个功能,当接收到服务器推送过来的新消息时,客户端程序通过判断是否在前台,确定如何处理消息:如果程序在前台运行,需要将消息直接展示到界面上,并且要通过声音或震动等方式通知用户;如果程序在后台运行,则需要在顶部状态栏展示,同时使用浮动通知或锁屏通知的方式通知用户。现有一种技术是通过调用系统API判断程序是否在前台,进而对消息进行处理,具体流程如附图1所示。现有技术主要在两个方面存在缺陷:1.逻辑复杂:因为安卓系统5.0版本之后,对判断程序是否在前台的API进行了改动,因此在调用此API时,需要对系统版本进行判断;2.兼容性不好:部分机型,如果程序在前台的情况下锁屏,系统API扔会判定程序在前台,导致不会发送锁屏通知。
技术实现思路
本专利技术为了克服以上技术的不足,提供了一种逻辑简单、兼容性好的Android消息通知分发方法。本专利技术克服其技术问题所采用的技术方案是:一种Android消息通知分发方法,包本文档来自技高网...

【技术保护点】
1.一种Android消息通知分发方法,其特征在于,包括如下步骤:a)Android程序启动时,在Android系统的发布/订阅事件总线EventBus中使用最低优先级注册一个事件订阅者Subscriber,通过事件订阅者Subscriber监听事件并定义为EventReceiver;b)当Android程序由后台切换到前台时,Android系统的onResume函数被回调,在onResume函数中以最高优先级注册一个Subscriber并定义为EventInterceptor;c)当Android程序由前台切换到后台时,Android系统的onPause函数被回调,在onPause函数中将E...

【技术特征摘要】
1.一种Android消息通知分发方法,其特征在于,包括如下步骤:a)Android程序启动时,在Android系统的发布/订阅事件总线EventBus中使用最低优先级注册一个事件订阅者Subscriber,通过事件订阅者Subscriber监听事件并定义为EventReceiver;b)当Android程序由后台切换到前台时,Android系统的onResume函数被回调,在onResume函数中以最高优先级注册一个Subscriber并定义为EventInterceptor;c)当Android程序由前台切换到后台时,Android系统的onPause函数被回调,在onPause函数中将EventInterceptor反注册;d)当Android系统接收到一条消息时,Android系统根据消息创建一个事件Event;e)Android系统使用EventBus发送事件Event,注册的事件订阅者Subscr...

【专利技术属性】
技术研发人员:王明超
申请(专利权)人:山东华软金盾软件股份有限公司
类型:发明
国别省市:山东,37

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

1