gpt4 book ai didi

Android - 清除任务标志不适用于 PendingIntent

转载 作者:可可西里 更新时间:2023-11-01 18:53:23 26 4
gpt4 key购买 nike

我有一个 A > B > C 的任务堆栈。我目前在 C 上,然后我按下主页按钮。我收到一条通知,目的是带我去 Activity A。我按下通知,我在 A,但如果我按回去,我会转到 C,然后是 B,然后是 A。

我正在这样设置我的 PendingIntent。有什么明显的问题吗?

final Intent notificationIntent = new Intent(mContext, ActivityA.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);


PendingIntent contentIntent = PendingIntent.getActivity(myContext, 0, notificationIntent, 0);

编辑 1:

我尝试了这里的建议:Clear all activities in a task?

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

但我仍然得到相同的结果。我的 Activity A 在我的应用程序任务堆栈中启动,我按返回键转到 C,然后 B,然后再次 A。

我开始认为这在 Android 中是不可能的,或者在使用挂起的 Intent 时是不可能的。

编辑 2:这不是需要什么标志的问题。更多的问题可能是标志似乎没有效果。

最佳答案

如果您使用解决方案 1,那么只需从 list 中删除 launchMode="singleTask"

1)

 final Intent notificationIntent = new Intent(mContext, ActivityA.class);

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

PendingIntent contentIntent = PendingIntent.getActivity(myContext, 0, notificationIntent, 0);

2)

       <activity 
android:name=".ActivityA"
android:theme="@style/theme_noActionBar"
android:noHistory="true">

3)

<activity android:name=".ActivityA" android:launchMode="singleTop">

关于Android - 清除任务标志不适用于 PendingIntent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873131/

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