当应用从通知启动时,活动不会从通知启动

  • 本文关键字:通知 启动 活动 应用 java android
  • 更新时间 :
  • 英文 :


我有一个应用程序,它可以发送通知,当单击时,会从我的应用程序中打开一个活动。如果你启动应用程序并保持应用程序打开并点击通知,它就会正常工作。然而,当应用程序关闭时,它不会。这就是发生的事情:

关闭应用程序>接收通知>点击通知>打开正确的活动>接收另一个通知>点击时不会发生任何事情

预期的功能是通知打开活动,而不管它是否已经打开,并将其添加到任务堆栈中。因此,如果您单击3个通知,堆栈将为ActivityA>活动A>活动A。这是通知的代码:

NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
notificationManager.notify(ID, new NotificationCompat.Builder(context, CHANNEL_ID)
.setOnlyAlertOnce(false)
.setAutoCancel(true)
.setCustomContentView(helper.createSmallView(context))
.setCustomBigContentView(helper.createBigView(context))
.setContentIntent(PendingIntent.getActivity(context, 1,
new Intent(context, ActivityA.class),
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE)
)
.build());

我还尝试使用广播PendingIntent。将调用BroadcastReceiver,但对Context#startActivity的调用没有任何作用。

Intent Intent=new Intent(YourActivity.class,NewActivity.class(;intent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK|intent.FLAG_ACTIVITY_CLEAAR_TASK(;PendingIntent PendingIntent=PendingIntent.getActivity(上下文,0,intent,PendingIntentit.FLAG_IMMUTABLE(;

PendingIntent
NotificationManagerCompat notificationManager=NotificationManagerCompat.from(context(;notificationManager.notify(ID,新NotificationCompat.Builder(上下文,CHANNEL_ID(.setOnlyAlertOnce(false(.setAutoCancel(true(.setCustomContentView(helper.createSmallView(上下文((.setCustomBigContentView(helper.createBigView(上下文((.setContentIntent(pendingIntent(.build(((;

最新更新