/** * 获取新的AVIMClient 并将旧的关闭 * * @param userID 用户ID * @return AVIMClient */ public static AVIMClient getNewImClient(String userID) { if (imClient != null) { imClient.close(null); } imClient = AVIMClient.getInstance(userID); imClient.open( new AVIMClientCallback() { @Override public void done(AVIMClient avimClient, AVIMException e) { if (null != e) { Log.e(TAG, "AVIMClient链接失败"); e.printStackTrace(); } else { Log.i(TAG, "AVIMClient链接成功"); } } }); return imClient; }
/** * 连接聊天服务器,用 userId 登录,在进入MainActivity 前调用 * * @param callback AVException 常发生于网络错误、签名错误 */ public void openClient(final AVIMClientCallback callback) { if (this.selfId == null) { throw new IllegalStateException("please call setupManagerWithUserId() first"); } imClient = AVIMClient.getInstance(this.selfId); imClient.open( new AVIMClientCallback() { @Override public void done(AVIMClient avimClient, AVIMException e) { if (e != null) { setConnectAndNotify(false); } else { setConnectAndNotify(true); } if (callback != null) { callback.done(avimClient, e); } } }); }