Esempio n. 1
0
  /**
   * 获取新的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;
  }
Esempio n. 2
0
 /**
  * 连接聊天服务器,用 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);
           }
         }
       });
 }