点击通知启动应用时,怎么判断是否需要 connect()

参考实现:

点击通知时跳转的 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();
    }
}