wildfirechat / android-chat

即时通讯,聊天,野火IMAndroid客户端,支持Android 4.x —— 最新
http://docs.wildfirechat.cn
Other
2.51k stars 863 forks source link

当应用切到后台,刚开始还能收到消息,过了十几秒后便收不到消息了,系统没有被杀死,只是接收不到消息 #824

Closed lh1250360307 closed 9 months ago

lh1250360307 commented 9 months ago

操作说明

我将用户A的APP却换到后台运行,然后我用用户B给用户A发消息,刚开始还能收到几条,过了十几秒便收不到消息了

表现现象

我用用户A手机打印日志,日志只显示了6条消息,可实际上我发送了9条消息,意思是只接受到了6条消息,用户A手机APP并没有被杀死

预期结果

正确的表现应该是9条消息都能收到

130f0995c7531c46019d88b8e450427 5d93f7ceb4f6abaf4dd4f0bd6b9c885

imndx commented 9 months ago
  1. 是否收到消息可以在 WfcUikit#onReceiveMessage最开始处打印日志确认
  2. app 是双进程的,需要确认两个进程都还活着,两个进程的默认名字,分别是:cn.wildfirechat.chatcn.wildfirechat.chagt:marsservice;如果应用被杀之后,如果配置了推送的话,会走推送通道;否则就会收不到消息。
lh1250360307 commented 9 months ago
  1. 是否收到消息可以在 WfcUikit#onReceiveMessage最开始处打印日志确认
  2. app 是双进程的,需要确认两个进程都还活着,两个进程的默认名字,分别是:cn.wildfirechat.chatcn.wildfirechat.chagt:marsservice;如果应用被杀之后,如果配置了推送的话,会走推送通道;否则就会收不到消息。 我在MainActivity里每隔三秒打印了一下当前正在运行的进程,发现当我将应用切到后台,过了20秒左右两个进程都被杀死
lh1250360307 commented 9 months ago
  1. 是否收到消息可以在 WfcUikit#onReceiveMessage最开始处打印日志确认
  2. app 是双进程的,需要确认两个进程都还活着,两个进程的默认名字,分别是:cn.wildfirechat.chatcn.wildfirechat.chagt:marsservice;如果应用被杀之后,如果配置了推送的话,会走推送通道;否则就会收不到消息。 我在MainActivity里每隔三秒打印了一下当前正在运行的进程,发现当我将应用切到后台,过了20秒左右两个进程都被杀死

image

lh1250360307 commented 9 months ago
  1. 是否收到消息可以在 WfcUikit#onReceiveMessage最开始处打印日志确认
  2. app 是双进程的,需要确认两个进程都还活着,两个进程的默认名字,分别是:cn.wildfirechat.chatcn.wildfirechat.chagt:marsservice;如果应用被杀之后,如果配置了推送的话,会走推送通道;否则就会收不到消息。 我在MainActivity里每隔三秒打印了一下当前正在运行的进程,发现当我将应用切到后台,过了20秒左右两个进程都被杀死

image

然后我再打开APP,进程又活了

imndx commented 9 months ago

这是手机系统的限制,针对这问题

  1. 你可以手机安全助手之类的管理软件里面设置允许后台运行
  2. 对接推送