Android集成融云IM走過的坑(一):項目登陸后,重新打開app,與融云斷開連接的解決方案

項目需要集成融云的IM,所以就硬著頭皮上了。

基本的快速集成,看官網(wǎng)教程就足夠了,鏈接:http://www.rongcloud.cn/docs/android.html#快速集成

斷開鏈接的重連:

本項目背景:首次打開,在app登陸的時候順便與融云服務器鏈接,調(diào)用RongIM.connect()方法即可。

由于本人知識水平的限制,以為在登陸app的時候順便鏈接融云就可以了,但實際上是當你本地第一次運行的時候是沒問題的。但是當重新打開app的時候,會顯示“無法連接服務器”

看了好久的官方文檔還是毫無頭緒,又提交了好幾次工單,看了知識庫的問題,基本上工作人員給出的解決方案都是用RongIMClient.ConnectionStatusListener跟蹤一下狀態(tài)。一開始看或許很困難,但是要有耐心,下面附上截圖:



可以看出,連接狀態(tài)的枚舉有7種,DISCONNECTEDTED是斷開連接。接下來就好辦啦!請看下面:

斷網(wǎng)重連的直觀方法:

第一步:先判斷一下是否是斷開連接的狀態(tài),代碼:

? ? ? ? ? ? if(RongIM.getInstance().getRongIMClient().getCurrentConnectionStatus()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==RongIMClient.ConnectionStatusListener.ConnectionStatus.DISCONNECTED){

? ? ? ? ? ? ? ? ? ? ? ? ? 重連的代碼;

? ? ? ? ? ? ? ? ? ? ? ? ? ?..............

? ? ? ? ? ? ? ? ? ? }

第二步:重新向server端請求token(或者使用第一次登陸的token)

第三步:重連。就是再一次調(diào)用RongIM.connect()方法


請看完整代碼:


public voidreconnect(){

ACacheaCache=ACache.get(this);

Stringid=aCache.getAsString("idnumber");

if(RongIM.getInstance().getRongIMClient().getCurrentConnectionStatus()

==RongIMClient.ConnectionStatusListener.ConnectionStatus.DISCONNECTED) {

HttpUtil.httppost(Server_parameter.REGETRMTOKRN_URL,Json_helper.parseHomeworkJson(id), newHttpUtil.QueryCallback() {

@Override

publicString handleResult(byte[]result) {

try{

Stringresultjson= newString(result,"utf-8");

Stringtoken=Json_helper.parseRMToken(resultjson);

RongIM.connect(token, newRongIMClient.ConnectCallback() {

@Override

public voidonTokenIncorrect() {

}

@Override

public voidonSuccess(Strings) {

Log.i("TAG","重連成功:"+s);

}

@Override

public voidonError(RongIMClient.ErrorCodeerrorCode) {

Log.e("TAG","重連失?。?+errorCode);

}

});

}catch(UnsupportedEncodingExceptione) {

e.printStackTrace();

}

return null;

}

});

}

}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,527評論 19 139
  • 以流的方式處理IM通訊問題好處是無需多次建立連接,另外消息的網(wǎng)絡開銷少,而xmpp會有很多冗余的信息; 使用開源項...
    sea777777閱讀 2,459評論 0 8
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 14,299評論 0 15
  • 【感悟】 “教是最好的學”,分享內(nèi)容在干貨之外,還可考慮從以下幾方面做提升:1)標題黨很重要,好的標題激發(fā)人的興趣...
    1軍哥嘹亮閱讀 346評論 0 0
  • 如果每天都是一樣的,那我們其實沒有什么進步,那么你夢中的美好將來是不會到來的。想要到達那個點必須進步必須努力,這些...
    風流花吹雪閱讀 242評論 0 1

友情鏈接更多精彩內(nèi)容