默认
发表评论 9
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求助im里判断网络状态的问题
阅读(38590) | 评论(9 收藏 淘帖
集成小米推送,收到新消息点击推送唤醒APP的时候,net.openmob.mobileimsdk.android中的ClientCoreSDK类
,        ClientCoreSDK.getInstance().isLocalDeviceNetworkOk();为false;
但是同时使用下面代码的时候,输出log为IMCORE】【本地网络通知】检测本地网络已连接上了!
    ConnectivityManager connectMgr = (ConnectivityManager)context.getSystemService("connectivity");
   NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(0);
   NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(1);
   NetworkInfo ethernetInfo = connectMgr.getNetworkInfo(9);
   if ((mobNetInfo == null || !mobNetInfo.isConnected()) && (wifiNetInfo == null || !wifiNetInfo.isConnected()) && (ethernetInfo == null ||             !ethernetInfo.isConnected())) {
    Log.e(ClientCoreSDK.TAG, "IMCORE】【本地网络通知】检测本地网络连接断开了!");
    ClientCoreSDK.this.localDeviceNetworkOk = false;
    LocalUDPSocketProvider.getInstance().closeLocalUDPSocket();
} else {
    if (ClientCoreSDK.DEBUG) {
        Log.e(ClientCoreSDK.TAG, "IMCORE】【本地网络通知】检测本地网络已连接上了!");
    }

    ClientCoreSDK.this.localDeviceNetworkOk = true;
    LocalUDPSocketProvider.getInstance().closeLocalUDPSocket();
}

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:Soul自研IM之搭建自己的网络层下一篇:求助为什么im sdk登陆账号相同可以正常登陆
推荐方案
评论 9
既然显示了“【IMCORE】【本地网络通知】检测本地网络已连接上了!”这么Log,那按照代码,localDeviceNetworkOk不是应该变为true了吗。

你追踪一下为什么没有变。

小米的推送,是在独立的服务里跑的吗?
引用:JackJiang 发表于 2020-08-14 16:09
既然显示了“【IMCORE】【本地网络通知】检测本地网络已连接上了!”这么Log,那按照代码,localDeviceNetwo ...

所以很奇怪啊,同样都是打开APP,都是先走了闪屏页,再到登陆页,直接点应用进入就一切正常,点推送进入就异常,而且除了小米推送会这样,华为,VIVO等其他都可以正常登陆,小米的文档看来看去也没发现什么不同的;还有就是台湾那使用的时候,也会经常本地网络不可用,也是返回204,和这个也是一样;但是有时切换下网络(4G切WIFI或者WIFI切4G)就能登陆,有时需要重启手机才能不报204,或者等3个小时才可以
引用:wxd5327 发表于 2020-08-14 16:43
所以很奇怪啊,同样都是打开APP,都是先走了闪屏页,再到登陆页,直接点应用进入就一切正常,点推送进入就异常 ...

这太奇怪了吧。有修改sdk层的什么代码吧
引用:JackJiang 发表于 2020-08-14 22:25
这太奇怪了吧。有修改sdk层的什么代码吧

没有,因为是mobileimsdk4a里的
引用:wxd5327 发表于 2020-08-17 08:41
没有,因为是mobileimsdk4a里的

sdk跑过的网络场景,比你所描述的要多的多,必竟sdk跑过的应用,覆盖少说几十万用户的机型了,没有发生过你说这种情况。
另外,你核实一下你的SDK版本是最新的吗,你现在用的版本是多少。如果不是最新的话,在github上下载最新的jar覆盖一下,更新时服务端的jar也一并更新:https://github.com/JackJiang2011/MobileIMSDK

更新后,再观察一下看看效果是什么样
引用:JackJiang 发表于 2020-08-17 10:27
sdk跑过的网络场景,比你所描述的要多的多,必竟sdk跑过的应用,覆盖少说几十万用户的机型了,没有发生过 ...

sdk是你去年发我的4.5的版本
引用:wxd5327 发表于 2020-08-17 14:48
sdk是你去年发我的4.5的版本

版本已这里为准:https://github.com/JackJiang2011/MobileIMSDK/releases
MobileIMSDK最新版本为4.0.2,不存在v4.5。我建议你如果不清楚版本,那就无条件用github上的新版更新覆盖后,再来观察。如果仍能观察到这个现象,你再跟我说,我给你另一个版本。

另外,你描述的问题能复现吗,可以给个你们app的链接给我,我体验一下,你告诉我如何复现。
引用:JackJiang 发表于 2020-08-17 15:16
版本已这里为准:https://github.com/JackJiang2011/MobileIMSDK/releases
MobileIMSDK最新版本为4.0.2 ...

[专业版]RainbowChatPro_v4.5_b90514r11_完整交付物(含实时音视频 群聊 大文件消息 短视频 支持对接Web版产品);
引用:wxd5327 发表于 2020-08-18 13:48
[专业版]RainbowChatPro_v4.5_b90514r11_完整交付物(含实时音视频 群聊 大文件消息 短视频 支持对接Web版 ...

了解了,你这个版本里的MobileIMSDK不是最新版,先升级最新的MObileIMSDK版本,再观察。如果还出现你观察到的这个现象,记得读一下我在8楼的回复,我再给你另外的建议。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部