请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

有时候收不到消息

老师,我最近遇到一个问题,就是聊天的时候,有时候一方接受不到消息,但是重新打开APP就可以接受到了,请问一下这个大概是什么原因?因为这个BUG出现的频率较低,所以我也不知道如何排查,麻烦老师指导一下

正在回答 回答被采纳积分+3

1回答

Qiujuer 2020-10-26 10:29:39

App处于后台了,系统对于app的网络,CPU都进行了限制,所以无法正常通讯,也就无法拉到消息。

重新进入时就处于前台了,所以可以正常收发。


这个要解决需要适配厂家的不同推送,给予用户通知栏提示,让用户自己进入app,或者把app做大,和微信一样,厂家就会开白名单了。

0 回复 有任何疑惑可以回复我~
  • 我最近也在做APP从后台回到前台刷新数据的问题。
    
    问题描述: 点按下方中间的圆点按钮APP回到后台, 这时候MessageReceiver能否接到Server端推来的消息我是不知道的, 也许能接收到也许不能。
    所以我的思路是:
    
    APP回到前台, 无论Activity或Fragment都会回调onStart方法, 我在onStart中进行了2步:
    
    1. 拉取本地数据库 SQLIte.select....过滤条件是Message.creatAt 处于APP在后台的时间段内, 进行一次刷新
    2. 接着再从Server端拉取在后台时间段内的PushHistory, 看看Server推送了什么, 过滤掉已经存储在本地的部分,再进行一次刷新.
    
    以上思路还有没有漏洞 ? 谢谢
    回复 有任何疑惑可以回复我~ 2020-10-26 11:00:06
  • 思路是可以的,可以拿消息最后的时间戳来作为标记,本地可以查询到最后的时间戳,拿到后,去告诉服务区希望拉一次时间戳后的数据,服务器返回数据即可。
    回复 有任何疑惑可以回复我~ 2020-10-26 11:13:44
  • 剩下的就是业务上的增删改查之类的了。
    回复 有任何疑惑可以回复我~ 2020-10-26 11:14:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信