通知将应用程序带到前面,无需更改活动

时间:2013-10-13 19:39:19

标签: android android-intent notifications

我想创建一个通知,当它点击它时会将我的应用程序放在前面,但不会更改(重新加载或导航)显示的最后一个活动。

我试过了:

setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT))

但是在新的Android 4.3应用程序中,它还启动了MainActivity的新实例,我不希望这样。

我希望我的应用程序将从显示的上一个活动继续。
怎么做?

3 个答案:

答案 0 :(得分:6)

您永远不会设置Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT。该标志由Android设置,当它将活动带到前面时。你设置它没有任何效果。

有几种方法可以做你想要的。看看这个answer

答案 1 :(得分:1)

对我来说可行的解决方案是:

    //Resume or restart the app (same as the launcher click)
val resultIntent = Intent(context, MyLauncherActivity::class.java)
resultIntent.addCategory(Intent.CATEGORY_LAUNCHER)
resultIntent.setAction(Intent.ACTION_MAIN)
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
val pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT)
builder.setContentIntent(pendingIntent)  //builder is the notificationBuilder

答案 2 :(得分:0)

添加“ Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP ”而不是“ Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT

解释here

希望这有帮助。

相关问题