参考实现:
点击通知时跳转的 activity 继承自基类 BaseActivity.
在 BaseActivity 的 onCreate() 中增加如下代码:
Intent intent = getIntent();
Uri data = intent != null ? intent.getData() : null;
String pushParam = data != null ? data.getQueryParameter("isFromPush") : null;
isPush = pushParam != null && pushParam.equals("true");
boolean isBackgroundNotify = pushParam != null && pushParam.equals("false");
//push 通知
if (isPush
//应用被杀死,后台通知依然存在
|| (isBackgroundNotify && RongIMClient.getInstance().getCurrentConnectionStatus().equals(RongIMClient.ConnectionStatusListener.ConnectionStatus.UNCONNECTED))
//界面被回收恢复
|| (savedInstanceState != null && !RongIMClient.getInstance().getCurrentConnectionStatus().equals(RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED))) {
if(本地缓存有效) {
RongIM.connect();
}
}