gpt4 book ai didi

android - 无法为 Activity 创建返回堆栈

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

我收到一条通知,我想创建一个自定义返回堆栈,以便用户可以浏览它。但截至目前,点击通知会打开所需的 Activity ,但当我按下后退按钮时,它会完全退出应用程序。

Intent resultIntent = new Intent(this, NotifViewActivity.class);
resultIntent.putExtra(StringHolder.NOTIFICATION_ID, notif.getId());

TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(HomeActivity.class);
stackBuilder.addParentStack(NotifActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder notificationCompat = new NotificationCompat.Builder(context)
.setAutoCancel(true)
.setContentTitle(notif.getTitle())
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(resultPendingIntent);

list 文件

<activity
android:name=".NotifActivity"
android:parentActivityName=".HomeActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".HomeActivity" />
</activity>
<activity
android:name=".NotifViewActivity"
android:parentActivityName=".NotifActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".NotifActivity" />
</activity>

我希望它的工作方式是,点击通知,用户被带到NotifViewActivity 然后当按下后退按钮时用户被带到 NotifActivity 并且当再次按下后退按钮时用户被带到HomeActivity 。这就是我要创建的层次结构,我该怎么做?

最佳答案

您应该以这种方式构建您的任务堆栈:

    stackBuilder.addParentStack(HomeActivity.class);
stackBuilder.addParentStack(NotifActivity.class);
stackBuilder.addNextIntentWithParentStack(resultIntent);

或者实际上因为您已经在 list 中指定了 Activity 层次结构,所以您只需一行即可完成:

   stackBuilder.addNextIntentWithParentStack(resultIntent);

或者另一种归档相同而不在 list 中指定层次结构的方法:

    Intent mainActivityIntent = new Intent(this, HomeActivity.class);
Intent notifActivityIntent = new Intent(this, NotifActivity.class);
stackBuilder.addNextIntent(mainActivityIntent);
stackBuilder.addNextIntent(notifActivityIntent);
stackBuilder.addNextIntent(resultIntent);

关于android - 无法为 Activity 创建返回堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43305007/

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