gpt4 book ai didi

Android - 通知 PendingIntent 进入错误的 Activity ?

转载 作者:搜寻专家 更新时间:2023-11-01 09:11:08 24 4
gpt4 key购买 nike

我目前有一个通知显示在通知栏中,当用户单击它时,它应该将他们带到我的应用程序的根 Activity。

我在我的 list 中使用了 android:finishOnTaskLaunch ="true"和 android:clearTaskOnLaunch="true"来在用户从应用程序屏幕或主屏幕按下应用程序图标时实现这一点。用户始终按预期进入根 Activity。

但是,当我使用通知中的以下代码时,用户会被带到他们所在的最后一个屏幕,而不是 StartActivity 根 Activity 。

有谁知道我做错了什么?

   Intent notificationIntent = new Intent(this, StartActivity.class);
contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(getApplicationContext(), getString(R.string.notification_app_name), notificationText, contentIntent);
mNotificationManager.notify(1, notification);

添加这些标志会有所帮助,但重启后它仍然不起作用:

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

当我重新启动我的应用程序时,我设置了一个正在运行的服务,它会弹出通知,当我这样做时,通知会恢复到旧的不良行为。

已解决:

通过将此标志添加到我的通知的 contentIntent - Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 解决了这个问题。

这是一个链接,其中包含有关该地区的一些优秀信息 Google dev group

最佳答案

试试这两个属性

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

关于Android - 通知 PendingIntent 进入错误的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com