Skip to content

Commit fc192bd

Browse files
committed
添加黑名单不能重发,进入会话添加被踢出提示
1 parent 8030509 commit fc192bd

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

android/src/main/java/com/netease/im/IMApplication.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.netease.nimlib.sdk.SDKOptions;
3434
import com.netease.nimlib.sdk.StatusBarNotificationConfig;
3535
import com.netease.nimlib.sdk.auth.LoginInfo;
36+
import com.netease.nimlib.sdk.mixpush.MixPushService;
3637
import com.netease.nimlib.sdk.mixpush.NIMPushClient;
3738
import com.netease.nimlib.sdk.msg.MessageNotifierCustomization;
3839
import com.netease.nimlib.sdk.msg.MsgService;
@@ -89,8 +90,9 @@ public static void init(Context context, Class mainActivityClass, @DrawableRes i
8990
IMApplication.notify_msg_drawable_id = notify_msg_drawable_id;
9091

9192
// 注册小米推送appID 、appKey 以及在云信管理后台添加的小米推送证书名称,该逻辑放在 NIMClient init 之前
92-
if (miPushConfig != null)
93+
if (miPushConfig != null) {
9394
NIMPushClient.registerMiPush(context, miPushConfig.certificate, miPushConfig.appID, miPushConfig.appKey);
95+
}
9496

9597
NIMClient.init(context, getLoginInfo(), getOptions(context));
9698
// crash handler
@@ -102,6 +104,9 @@ public static void init(Context context, Class mainActivityClass, @DrawableRes i
102104
PinYin.init(context);
103105
PinYin.validate();
104106

107+
if (miPushConfig != null) {
108+
NIMClient.getService(MixPushService.class).enable(true);
109+
}
105110
// 初始化Kit模块
106111
initKit();
107112

android/src/main/java/com/netease/im/RNNeteaseImModule.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1974,6 +1974,9 @@ public void onHostResume() {
19741974
ReactCache.emit(ReactCache.observeOnKick, r);
19751975
}
19761976
}
1977+
// if (NIMClient.getStatus().wontAutoLogin()) {
1978+
// Toast.makeText(IMApplication.getContext(), "您的帐号已在别的设备登录,请重新登陆", Toast.LENGTH_SHORT).show();
1979+
// }
19771980
status = "";
19781981
}
19791982

android/src/main/java/com/netease/im/receiver/NetworkReceiver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void onReceive(Context context, Intent intent) {
3232
} else {
3333
WritableMap r = Arguments.createMap();
3434
r.putString("status", Integer.toString(StatusCode.NET_BROKEN.getValue()));
35-
ReactCache.emit(ReactCache.observeOnKick, r);
35+
ReactCache.emit(ReactCache.observeOnlineStatus, r);
3636
}
3737
}
3838
}

android/src/main/java/com/netease/im/session/SessionService.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
import android.os.Handler;
66
import android.support.annotation.NonNull;
77
import android.text.TextUtils;
8+
import android.widget.Toast;
89

910
import com.facebook.react.bridge.Arguments;
1011
import com.facebook.react.bridge.WritableMap;
12+
import com.facebook.react.common.MapBuilder;
13+
import com.netease.im.IMApplication;
1114
import com.netease.im.MessageConstant;
1215
import com.netease.im.MessageUtil;
1316
import com.netease.im.ReactCache;
@@ -558,6 +561,9 @@ public void startSession(Handler handler, String sessionId, String type) {
558561
this.handler = handler;
559562
this.sessionId = sessionId;
560563

564+
if (NIMClient.getStatus().wontAutoLogin()) {
565+
Toast.makeText(IMApplication.getContext(), "您的帐号已在别的设备登录,请重新登陆", Toast.LENGTH_SHORT).show();
566+
}
561567
sessionTypeEnum = SessionUtil.getSessionType(type);
562568

563569
if (sessionTypeEnum == SessionTypeEnum.P2P) {
@@ -609,6 +615,12 @@ public void resendMessage(String messageId) {
609615
queryMessage(messageId, new OnMessageQueryListener() {
610616
@Override
611617
public int onResult(int code, IMMessage message) {
618+
Map<String, Object> map = message.getLocalExtension();
619+
if (map != null) {
620+
if (map.containsKey("resend")) {
621+
return -1;
622+
}
623+
}
612624
IMMessage item = message;
613625
item.setStatus(MsgStatusEnum.sending);
614626
deleteItem(item, true);
@@ -888,6 +900,10 @@ public void onSuccess(Void aVoid) {
888900
public void onFailed(int code) {
889901
LogUtil.w(TAG, "code:" + code);
890902
if (code == ResponseCode.RES_IN_BLACK_LIST) {
903+
Map<String, Object> map = MapBuilder.newHashMap();
904+
map.put("resend", false);
905+
message.setLocalExtension(map);
906+
getMsgService().updateIMMessage(message);
891907
sendTipMessage("消息已发出,但被对方拒收了。", null, true, false);
892908
}
893909
}

0 commit comments

Comments
 (0)