使用TaskStackBuilder单击推送通知

时间:2016-07-20 08:41:00

标签: google-cloud-messaging taskstackbuilder

我将活动Receiver设置为通知的内容意图。

Intent clickIntent = new Intent(context, Receiver.class);
            mBuilder.setContentIntent(PendingIntent.getActivity(context, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT));

在Receiver Activity内部,我开始以下列方式使用TaskStackBuilder打开活动。

Intent intent = new Intent(this, Class.forName(className));
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       TaskStackBuilder.create(this).addParentStack(Class.forName(className)).addNextIntent(intent).startActivities();

当应用在后台并发生通知点击时,它会恢复ParentActivity。特别是当设备进入空闲状态并返回时。有帮助吗?我对此表示不满。

1 个答案:

答案 0 :(得分:0)

对于 Android应用,您还应在androidManifest.xml文件中声明android:launchMode

正如Android documentation中所述:

  

有关如何启动活动的说明。有四种模式与Intent对象中的活动标志(FLAG_ACTIVITY_ *常量)结合使用,以确定在调用活动处理意图时应该发生什么。

     

他们是:

     
      
  • "标准"
  •   
  • " singleTop"
  •   
  • " singleTask"
  •   
  • " singleInstance"
  •   
     

默认模式为"标准"。

此SO帖子中提供的解决方案 - resuming an activity from a notification也可能有所帮助。

相关问题