這個(gè)問題的出現(xiàn)完全是因?yàn)榇a問題,畢竟接的是不知經(jīng)過了多少手的代碼,猛然發(fā)現(xiàn)這個(gè)問題的時(shí)候斩跌,第一反應(yīng)是去查SDK,畢竟集成第三方的SDK惭笑,有集成文檔,難免出現(xiàn)一個(gè)小問題就想從上面去找答案生真。翻了半天的文檔,發(fā)現(xiàn)捺宗,沒有我想要的結(jié)果柱蟀。那就開始測(cè)代碼。
之前測(cè)試跟我講蚜厉,說有時(shí)候連不上服務(wù)器长已,有的時(shí)候可以,這就讓我很頭疼了昼牛,那就運(yùn)行起來App术瓮,跑起來看看,第一次贰健,進(jìn)入胞四,先登錄,然后進(jìn)入主界面伶椿,跳轉(zhuǎn)到聊天列表辜伟,發(fā)現(xiàn),沒問題啊脊另,能聊天导狡。
第二次,把a(bǔ)pp從后臺(tái)刪除偎痛,重新進(jìn)入旱捧,發(fā)現(xiàn),連不上了踩麦。
1.首先查看LoginActivity枚赡,看如何登錄,獲取token靖榕,然后連接上融云标锄,后來發(fā)現(xiàn),在LoginActivity中有獲取token的接口茁计,并加入了連接融云的方法
RongIM.connect(token, new RongIMClient.ConnectCallback() {
...
})料皇;
之后這個(gè)界面會(huì)finish(); 谓松,那這之后如果當(dāng)時(shí)沒連接上,如果重連怎么辦践剂。就把這段代碼重新考入到MainActivity中鬼譬。
2.然后在歡迎界面發(fā)現(xiàn)跳轉(zhuǎn)到MainActivity中不需要重新登錄,也就是沒有辦法再次重新獲取token 逊脯,第二次進(jìn)入到MainActivity中連接融云的token還是第一次登錄的時(shí)候的token,這有可能會(huì)導(dǎo)致token過期优质,因?yàn)檎?qǐng)求token的接口加入的有秘鑰,秘鑰是每次在歡迎界面都會(huì)重新請(qǐng)求的军洼。
3.解決辦法就是在每次進(jìn)入MainActivity中的時(shí)候請(qǐng)求獲取最新的token,然后再請(qǐng)求融云連接服務(wù)器巩螃。