问题描述:
小米手机4 长时间后台(大概1小时左右)重新唤醒应用,lencloude 所有创建会话连接超时,必须杀死应用重新启动才能正常登录。
附:
/**
* 创建聊天室
*
* @param context
* @param member
* @param forbidden
* @param message
* @param alert
*/
public static void createConversation(final Context context, final Member member, final boolean forbidden, final String message, final int alert) {
if (AVIMClientHelper.isCreateConversation) {
final HashMap<String, Object> map = new HashMap<String, Object>();
ArrayList<Member> list = new ArrayList<Member>();
ArrayList<String> idList = new ArrayList<String>();
Member member1 = new Member();
idList.add(WenWanMiApplication.UID);
member1.avatar = WenWanMiApplication.AVATAR;
member1.uid = WenWanMiApplication.UID;
member1.nickName = WenWanMiApplication.USER_NAME;
list.add(member1);
idList.add(member.uid);
list.add(member);
map.put(Constants.CONVERSATION_MEMBER, list);
final String m = ConversationTools.getM(idList);
AVIMClientHelper.avimClient.getClientStatus(new AVIMClientStatusCallback() {
@Override
public void done(AVIMClient.AVIMClientStatus avimClientStatus) {
if (AVIMClient.AVIMClientStatus.AVIMClientStatusNone.getCode() == avimClientStatus.getCode()) {
AVIMClientHelper.avimClient.open(new AVIMClientCallback() {
@Override
public void done(AVIMClient avimClient, AVIMException e) {
Logger.e("AVIMClient open ----> open client");
if (avimClient != null) {
selectRoomByM(m, member.uid, map, new AVIMConversationCreatedCallback() {
@Override
public void done(AVIMConversation conversation, AVIMException e) {
if (conversation != null) {
conversation.setAttributes(map);
ChatRoomActivity.chatByConversation(context, conversation, forbidden, message, alert);
} else {
CommonUtility.showToast("创建会话失败喽,请您重试!");
}
}
});
} else {
if (e != null) {
Logger.e("error code ---> "+e.getCode());
e.printStackTrace();
CommonUtility.showToast(e.getMessage());
}
}
}
});
} else {
Logger.e("create conversation ----------");
selectRoomByM(m, member.uid, map, new AVIMConversationCreatedCallback() {
@Override
public void done(AVIMConversation conversation, AVIMException e) {
if (conversation != null) {
conversation.setAttributes(map);
ChatRoomActivity.chatByConversation(context, conversation, forbidden, message, alert);
} else {
if (e != null) {
Logger.e("error code ---> "+e.getCode());
e.printStackTrace();
}
CommonUtility.showToast("创建会话失败喽,请您重试!");
}
}
});
}
}
});
} else {
CommonUtility.showToast("创建会话失败喽,请您重试!");
AVIMClientHelper.newInstance().openAVIMClientWithId(WenWanMiApplication.UID, new AVIMClientCallback() {
@Override
public void done(AVIMClient avimClient, AVIMException e) {
if (e != null) {
Logger.e("error code ---> "+e.getCode());
e.printStackTrace();
}
}
});
}
}
private static void selectRoomByM(String m, final String id, final HashMap<String, Object> map,
final AVIMConversationCreatedCallback callback) {
final ChatManager chatManager = ChatManager.getInstance();
chatManager.selectRoomByM(m, new AVIMCallBack<Room>() {
@Override
public void callBack(Room room) {
if (room != null) {
Logger.e("create conversation from conversation id");
chatManager.fetchConversationWithConversationId(room.getConvid(), callback);
} else {
chatManager.fetchConversationWithMember(id, map, callback);
}
}
});
} 1 人赞了这个帖子.
-
创建时间
16年3月25日
-
最后回复
16年3月25日
- 0
回复
- 98
浏览
- 1
用户
- 1
赞