为什么在通知回调中无法打开activity?

问题详述

为什么在接收到推送通知的回调onNotification,onMessage,onNotificationOpened中无法打开activity?

解决方案

上述回调中的context参数为ApplicationContext,使用ApplicationContext实现页面跳转时需要设置Intent.INTENT_FLAG_NEW_TASK标志位。可参考以下代码:

  1. @Override
  2. public void onNotification(Context context, String title, String summary, Map<String, String> extraMap) {
  3. ......
  4. Intent intent = new Intent(context, MyActivity.class);
  5. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  6. context.startActivity(intent);
  7. }