默认
发表评论 9
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求助im里判断网络状态的问题
阅读(34272) | 评论(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
引用:JackJiang 发表于 2020-08-14 16:09
既然显示了“【IMCORE】【本地网络通知】检测本地网络已连接上了!”这么Log,那按照代码,localDeviceNetwo ...

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

没有,因为是mobileimsdk4a里的
引用:JackJiang 发表于 2020-08-17 10:27
sdk跑过的网络场景,比你所描述的要多的多,必竟sdk跑过的应用,覆盖少说几十万用户的机型了,没有发生过 ...

sdk是你去年发我的4.5的版本
引用:JackJiang 发表于 2020-08-17 15:16
版本已这里为准:https://github.com/JackJiang2011/MobileIMSDK/releases
MobileIMSDK最新版本为4.0.2 ...

[专业版]RainbowChatPro_v4.5_b90514r11_完整交付物(含实时音视频 群聊 大文件消息 短视频 支持对接Web版产品);
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部