1、发送推送的时候 应该用【打开应用指定界面,注意带上包名】
打开的指定界面可以是app的主界面(不一定是主启动界面,因为主启动界面可能只是个欢迎页,一般选择欢迎页之后的app 主页)
假设主页是 HomeActivity
那么我们应该在
HomeActivity 里面去做处理 来决定接下来跳转哪一个界面
@Override
protected void onResume() {
super.onResume();
// 如果由信鸽通知调起的 Activity(发送推送的时候,如果要走这个逻辑必须是指定启动界面为:com.cjwsc.activity. HomeActivity )
XGPushClickedResult result = XGPushManager.onActivityStarted(this);
if (result != null) {
String content = result.getCustomContent();
try {
JSONObject json = new JSONObject(content);
String type = json.getString("type");
DebugLog.d(DebugLog.TAG, "主界面接收到推送信息跳转申请" + "type:" + type);
Intent intent = new Intent();
switch (Integer.parseInt(type)) {
case 1:// URL
String url = json.getString("url");
intent = intent.setClass(this, WebActivity.class);
intent.putExtra("WEB_URL", url);
startActivity(intent);
break;
case 0:// 商品详情
String pid = json.getString("pid");
String shopid = json.getString("shopid");
intent = intent.setClass(this, ProductsDetailBuyActivity.class);
intent.putExtra("productId", pid);
if (shopid != null) {
intent.putExtra("shopid", shopid);
}
startActivity(intent);
break;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
2、如果使用打开应用的话可能会造成打开多个app的情况,非常不好控制,不推荐不推荐不推荐,个人没有找到好的针对这种方案的处理方法。