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

问题描述

测试手顺和现象: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这个进程已经存在了)这个过程应该怎么定义,能不能给个示例?

解决方案

环信是有做守护进程的,有个so库,你可以看看,可以提高低内存被android系统杀死能够重启的概率

时间: 2025-01-02 13:30:05

android上的离线推送,是否假离线,是否能实现实时离线推送的相关文章

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节

Worktile中百万级实时消息推送服务的实现

在团队协同工具 Worktile的使用过程中,你会发现无论是右上角的消息通知,还是在任务面板中拖动任务,还有用户的在线状态,都是实时刷新.Worktile中的推送服务是采用的是基于XMPP协议.Erlang语言实现的Ejabberd,并在其源码基础上,结合我们的业务,对源码作了修改以适配我们自身的需求.另外,基于AMQP协议也可以作为实时消息推送的一种选择,踢踢网就是采用 RabbitMQ+STOMP协议实现的消息推送服务.本文将结合我在Worktile和踢踢网的项目实践,介绍下消息推送服务的具

如何在Android上发送加密邮件?推荐这四大神器

本文讲的是如何在Android上发送加密邮件?推荐这四大神器, 在移动网络安全意识增加的时代,大家都希望自己发送消息不被其他人偷窥.无论是公司的机密业务还是个人的敏感数据,都需要被加密.不过说到加密,这可是个技术活,不知道你会不会,今天小编就提供4中神器,让你轻松搞定这一切. 这四种方式都可以在Android平台上发送加密邮件.虽然发送方法有所不同,但都能起到加密的效果. 第一神器:K-9 Mail和OpenKeychain的超级组合 K-9 Mail是款Android平台上的邮件收发类软件,支

在Ajax应用程序中实现实时数据推送

这种技术可能会生成大量不必要的流量和非最优化的应用程序.幸运的是,某些富 Internet 应用程序(RIA)技术确实允许打开专用套接字通道,由后端服务器为 Asynchronous JavaScript and XML (Ajax) 应用程序提供进入其 API 并实现服务器推送的机会.这篇文章以多种方式探讨了这项技术,帮助您充分理解,以便着手开始进行自己的实现工作. 简介 Ajax 技术已经存在了一段时间,开发的动力已经真正开始得到了人们的认可.越来越多的 Web 站点正在考虑使用 Ajax

asp.net mvc实现简单的实时消息推送_实用技巧

因为项目需要,需要在网页上实现消息的推送.在百度上搜索了一下,发现实现网页上的消息推送,可以使用asp.net 中的SignalR类库,当然也可以使用H5的WebSocket  Ajax的轮回.当然此处我们使用asp.net 中的SignalR类库.因为它可以实现网页上消息的实时推送.什么是实时推送呢,我简单的说一下我个人的理解吧.实时:在同一时间类发生的事情,当然在计算机中并不是绝对的实时,因为CPU在同一时间片只能处理一个任务,那么这个时候疑问又来了? 我们平时使用电脑又上网,又听音乐是如何

面向Android上Dalvik运行时的C# 编译器dot42简介

Mono for Android最大的缺点是需要在Mono上面构建,这与Android预期的运行时完全不同.尽管能够直接访问完整的CLR的确有些优势,但是它与Android的Dalvik 运行时之间的封送调用(marshalling call)可能非常昂贵.那为什么不跳过IL代码直接生成Dex代码呢? 事实上这有点夸张.dot42编译器实际上并没有跳过IL.恰恰相反,它读取IL代码并将其转换为一种叫做RL或Register Language的新语言.IL和RL主要的差异在于IL是基于栈的(有点像

进程-关于极光推送的推送服务被杀死之后就接不到推送的问题

问题描述 关于极光推送的推送服务被杀死之后就接不到推送的问题 想请教一下,怎么样可以让当前App从后台中清掉的时候,集成的极光推送的推送服务不被 清掉?因为推送服务被清掉之后就接收不到推送的信息了.现在是只有在软件在被用户操作的时候才可能接收到推送的消息 解决方案 现在这个问题好纠结啊,App在手机后台中清除之后,就接收不到推送的消息了.要怎么办啊? 解决方案二: 有木有大神知道啊... 解决方案三: 这个要看下你是否在APP里面写程序了~! 解决方案四: 问下极光的客服,另外一般用户估计是不会

ios-ISO推送不断重复,java web接口,job推送?

问题描述 ISO推送不断重复,java web接口,job推送? 一个java web项目,推送信息到ios上,在spring上运用job进行推送,这个job的运行机制是怎么样的?????? 解决方案 只能通过第三方推送的,你想多了吧,这个job估计是连着第三方推送平台的 解决方案二: 越来越多的产品都需要实时推送,自己实现又困难又麻烦,反正我是没有那个魄力自己去开发一套去实现.我建议使用第三方提供的推送服务,他们专注在实时推送这个方向,所以产品也就更专业可靠!GoEasy Web实时推送就很不

第三方推送战火升级:友盟宣布旗下消息推送产

摘要: 现在的第三方推送无疑是个推独大,据说已经砍下90%的市场,但如果友盟也进来玩一下的话,似乎这个领域的变量还没被终结. 早在去年6.7月间,友盟就开始筹划推送产品,去年10月 现在的第三方推送无疑是个推独大,据说已经砍下90%的市场,但如果友盟也进来玩一下的话,似乎这个领域的变量还没被终结. 早在去年6.7月间,友盟就开始筹划推送产品,去年10月对外发布后进入内测状态.而现在友盟方面向我们表示,该产品已结束灰度测试,正式面向所有友盟账号使用者开放.如果我们留意一下,会看到友盟在各大站点投放