注册

环信移动客服登录两台设备之前登录的聊天界面闪退

我用环信的2.2.7SDK集成了环信移动客服,用同一个账号先后登录两台设备,之前登录的界面进到聊天界面,后面登录的设备再进到聊天界面,之前的设备聊天界面销毁,回退到主界面,有没有碰到过这种现象的?我在聊天界面加入了连接状态监听,调用了登出操作,但是没看出聊天界面销毁什么原因,也没有bug出现
public class MyConnectionListener implements EMConnectionListener {

        @Override
        public void onConnected() {

        }

        @Override
        public void onDisconnected(final int error) {
            runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    if (error == EMError.USER_REMOVED) {
                        // 账号被移除
                        HuanxinKefuHelper.getInstance().logout(true, null);
                        // if (ChatActivity.activityInstance != null) {
                        // ChatActivity.activityInstance.finish();
                        // }
                    } else if (error == EMError.CONNECTION_CONFLICT) {
                        // 账号在其他地方登录
                        HuanxinKefuHelper.getInstance().logout(true, null);
                        // if (ChatActivity.activityInstance != null) {
                        // ChatActivity.activityInstance.finish();
                        // }
                    } else {
                        if (NetUtils.hasNetwork(ChatActivity.this)) {
                            // 连接不到聊天服务器
                        } else {// 当前网络不可用,请检查网络设置
                            // ToastUtil.toast("当前网络状态差,请稍后再试!");
                        }
                    }

                }
            });
        }
已邀请:

wudouxingjun - Android开发

登出操作调用了以下代码,callback传递的是null,使用的是官方的demo来集成的public void logout(boolean unbindDeviceToken, final EMCallBack callback) {
        EMChatManager.getInstance().logout(unbindDeviceToken, new EMCallBack() {

            @Override
            public void onSuccess() {
                if (callback != null) {
                    callback.onSuccess();
                }

            }

            @Override
            public void onProgress(int progress, String status) {
                if (callback != null) {
                    callback.onProgress(progress, status);
                }
            }

            @Override
            public void onError(int code, String error) {
                if (callback != null) {
                    callback.onError(code, error);
                }
            }
        });
    }

要回复问题请先登录注册