Android有谁遇到过极光im执行loginout之后,再执行init会失败的问题吗
目前知道的问题是:执行loginout后,根本没有监听到下面onSocketClose这个事件
在微信小程序和ios下正常,且也能监听到下面这个事件
loginout() {
this.jim.loginOut()
uni.onSocketClose(()=>{
console.log('socket关闭');
})
}
发了帖子总是没人回答,是我的提问方式不对吗
1***@qq.com (作者)
解决了。在im源码里面搜索this.ws.closeSocket(),判断是Android的加个setTimout就行了
if (uni.getSystemInfoSync().platform == "android") {
"undefined" != typeof this.ws && setTimeout(()=>{
this.ws.closeSocket()
},0)
}else{
"undefined" != typeof this.ws && this.ws.closeSocket()
}
2019-11-26 19:42
落水的死鱼
回复 1***@qq.com: 我做了判断和延时执行,退出登录后再执行init还是一直无法成功,network那边一直在尝试请求未成功
2019-11-27 16:45
1***@qq.com (作者)
回复 落水的死鱼: init之前需要确保im已连接,用isConnect判断。可能是这个问题
2019-11-27 19:04