我将活动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。特别是当设备进入空闲状态并返回时。有帮助吗?我对此表示不满。
答案 0 :(得分:0)
对于 Android应用,您还应在androidManifest.xml文件中声明android:launchMode
。
正如Android documentation中所述:
有关如何启动活动的说明。有四种模式与
Intent
对象中的活动标志(FLAG_ACTIVITY_ *常量)结合使用,以确定在调用活动处理意图时应该发生什么。他们是:
- "标准"
- " singleTop"
- " singleTask"
- " singleInstance"
默认模式为"标准"。
此SO帖子中提供的解决方案 - resuming an activity from a notification也可能有所帮助。