阿里云
发表主题 回复主题
  • 650阅读
  • 0回复

android上的离线推送,是否假离线,是否能实现实时离线推送

级别: 新人
发帖
0
云币
-40
测试手顺和现象:1、使用环信Demo,首先登陆环信,在环信开启和应用程序隐藏后台(pause)的情况下,消息都能时的推送过来,但是当程序关闭后,推送消息没有响应。

2、在程序关闭后,查看设置里正在运行的应用,可以看到环信Demo的EMChatService进程依然存活,但是一点响应也没有。

3、按开关键关/开屏幕,又开始能够实时接收推送消息。

 

问题:

1、正常来说环信依靠EMChatService在后台持续运行,保持对推送消息的接收,为什么能看到这个Service在存活,但是消息无法接收?


猜测:

1、应用程序被关闭后,EMChatService在后台继续运行,并进入某种假死状态。

2、com.easemob.chat.StartServiceReceiver接收系统事件重新启动了EMChatService,EMChatService回复工作。

3、这就产生了应用程序关闭到第一次重启屏幕之间的推送空白期。

问题:

2、由于这一切都是封装在jar包里,无法知道StartServiceReceiver重新启动EMChatService的过程,现在我打算这样做:在我的应用程序里建两个Service,这两个Service互相监听保证不被杀死,而这两个Service同时监听EMChatService,也保证EMChatService不被杀死,问:1、环信SDK内部有没有这种守护进程机制,有的话我如何用?2、如果没有守护进程,我自己写的话,重新启动EMChatService(第一次启动之后,EMChatService这个进程已经存在了)这个过程应该怎么定义,能不能给个示例?

发表主题 回复主题
« 返回列表
«12345678910»
共10页
上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)

      版权声明

      开发者论坛为你提供“android上的离线推送,是否假离线,是否能实现实时离线推送”的内容,论坛中还有更多关于 离线实现消息推送实时推送EMChatService离线消息推送 的内容供你使用,该内容是网友上传,与开发者论坛无关,如果需要删除请联系zixun-group@service.aliyun.com,工作人员会在5个工作日内回复您。