19

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

我试过了:

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

但是在新的 Android 4.3 中,应用程序被带到了前面,但它也启动了一个新的实例MainActivity,我不想要这个。

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

4

3 回答 3

8

你从来没有设置Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT。该标志由 Android 在将活动置于最前面时设置。你设置它没有效果。

有几种方法可以做你想做的事。看看这个答案

于 2013-10-14T14:42:45.343 回答
3

对我来说工作的解决方案是:

    //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
于 2019-01-15T12:22:30.910 回答
-1

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

在这里解释

希望这可以帮助。

于 2013-10-14T06:20:45.990 回答