gpt4 book ai didi

android - 为通知的未决 Intent 设置不同的 Activity

转载 作者:行者123 更新时间:2023-11-30 00:51:14 26 4
gpt4 key购买 nike

我目前面临着将两个不同 Activity 的待处理操作设置为通知的问题。

我有一个 ParentActivity 和一个 ChildActivity。如果当前正在运行或暂停,我想在通知点击时打开 ChildActivity,否则启动 ParentActivity。

我试过这个:

 .........

Intent resultIntent = new Intent(this, ChildActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(ParentActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
.............

以上对我不起作用。每次 ChildActivity 在通知点击时启动。

而且正如法鲁克回答的那样,我不想要这个。通过检查 ChildActivity 的当前状态来创建通知的待定​​ Intent 将不起作用。假设在 ChildActivity 运行时创建了通知,但在创建通知后,用户终止了该应用程序。因此,在终止应用程序后,如果用户单击通知,则 ChildActivity 将启动。我不想要那个。我想如果 ChildActivity 没有运行或暂停,那么应该启动 ParentActivity。

我怎样才能做到这一点?请帮忙。

最佳答案

虽然可能有多种方法可以实现这一点,但以下是我能想到的一种。

首先,您应该通过此链接了解 ChildActivity 是否处于 Activity 状态

Check whether activity is active

将其存储在某个变量 childActive 中,然后您可以初始化不同的 notificationIntents 检查值,而无需使用任务 TaskStackBuilder。

例如;

Intent notificationIntent = null;
if(childActive)
notificationIntent = new Intent(context, ChildActivity.class);
else
notificationIntent = new Intent(context, ParentActivity.class);

PendingIntent contentIntent = PendingIntent.getActivity(context,
0, notificationIntent,
PendingIntent.FLAG_CANCEL_CURRENT);

关于android - 为通知的未决 Intent 设置不同的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40996326/

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