Skip to content

Commit 573b2af

Browse files
committed
fix 点击推送通知
1 parent be75366 commit 573b2af

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ public class MainActivity extends ReactActivity {
6161
protected void onCreate(Bundle savedInstanceState) {
6262
super.onCreate(savedInstanceState);
6363
if(ReceiverMsgParser.checkOpen(getIntent())){//在后台时处理点击推送消息
64-
//ReactCache.emit(ReactCache.observeLaunchPushEvent, ReceiverMsgParser.getWritableMap(getIntent()));
6564
RNNeteaseImModule.launch = getIntent();
6665
}
6766
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1960,6 +1960,7 @@ public void onNewIntent(Intent intent) {
19601960
intent.putExtras(getIntent());
19611961
reactContext.getCurrentActivity().setIntent(intent);
19621962
ReactCache.emit(ReactCache.observeBackgroundPushEvent, ReceiverMsgParser.getWritableMap(intent));
1963+
launch = null;
19631964
}
19641965

19651966
}

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,29 +80,33 @@ public static Bundle openIntent(Intent intent) {
8080
public static WritableMap getWritableMap(Intent intent) {
8181
WritableMap rr = Arguments.createMap();
8282
if (intent != null && canAutoLogin()) {
83-
WritableMap r = Arguments.createMap();
83+
8484
if (intent.hasExtra(NimIntent.EXTRA_NOTIFY_CONTENT)) {
8585
ArrayList<IMMessage> messages = (ArrayList<IMMessage>) intent.getSerializableExtra(NimIntent.EXTRA_NOTIFY_CONTENT);
86-
if (messages == null || messages.size() > 1) {
86+
if (messages == null || messages.isEmpty()) {
8787
rr.putString("type", "sessionList");
8888
} else {
89+
WritableMap r = Arguments.createMap();
8990
IMMessage message = messages.get(0);
9091
rr.putString("type", "session");
9192
r.putString("sessionType", Integer.toString(message.getSessionType().getValue()));
9293
r.putString("sessionId", message.getSessionId());
9394
r.putString("sessionName", SessionUtil.getSessionName(message.getSessionId(), message.getSessionType(), false));
95+
rr.putMap("sessionBody", r);
9496
}
9597
} else if (intent.hasExtra(Extras.EXTRA_JUMP_P2P)) {
9698
Intent data = intent.getParcelableExtra(Extras.EXTRA_DATA);
9799
String account = data.getStringExtra(Extras.EXTRA_ACCOUNT);
98100
if (!TextUtils.isEmpty(account)) {
101+
WritableMap r = Arguments.createMap();
99102
rr.putString("type", "session");
100103
r.putString("sessionType", Integer.toString(SessionTypeEnum.P2P.getValue()));
101104
r.putString("sessionId", account);
102105
r.putString("sessionName", SessionUtil.getSessionName(account, SessionTypeEnum.P2P, false));
106+
rr.putMap("sessionBody", r);
103107
}
108+
104109
}
105-
rr.putMap("sessionBody", r);
106110
printIntent(intent);
107111
}
108112

0 commit comments

Comments
 (0)