gpt4 book ai didi

android - 从通知创建的活​​动返回主 Activity

转载 作者:IT老高 更新时间:2023-10-28 22:04:41 34 4
gpt4 key购买 nike

我正在尝试实现 here 所描述的行为,通知(或其他)在您的应用程序中启动“内部” Activity ,然后当用户按下它时,它会转到我的“家庭” Activity 。

Android 文档说

In the case of the Back button, you should make navigation more predictable by inserting into the task's back stack the complete upward navigation path to the app's topmost screen. This allows users who've forgotten how they entered your app to navigate to the app's topmost screen before exiting.

有没有什么好方法可以真正做到这一点? Stackoverflow 上的其他问题建议以告诉它启动内部 Activity 的 Intent 来启动主要 Activity ,但这似乎是一个巨大的黑客攻击,我有点怀疑谷歌会在 Gmail 中使用它,我认为有一个不错的方法,给定他们正在倡导这种行为。

那么有没有一种简单的方法可以做到这一点?

最佳答案

啊哈,我只需要使用 PendingIntent.getActivities() 而不是 getActivity()。另外值得一提的是TaskStackBuilder

这里有一些代码:

    Intent backIntent = new Intent(ctx, MainActivity.class);
backIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Intent intent = new Intent(ctx, ConversationActivity.class);
intent.putExtra("whatever", whatever);
final PendingIntent pendingIntent = PendingIntent.getActivities(ctx, UNIQUE_REQUEST_CODE++,
new Intent[] {backIntent, intent}, PendingIntent.FLAG_ONE_SHOT);

刚刚测试过。它就像一个魅力。我最初怀疑如果应用程序已经在运行,可能会出现问题,然后你去通知。 IE。假设你的 Activity 堆栈是(最右边):

[MainActivity] [SomeActivity]

然后单击 ConversationActivity 的通知。你会得到:?

[MainActivity] [SomeActivity] [MainActivity] [ConversationActivity]

好吧,事实证明你神奇地得到了

[MainActivity] [SomeActivity] [ConversationActivity]

这是我想要的,但我不知道它是如何做到的。我没有对任何 Activity 设置任何特殊选项。哦,好吧!

关于android - 从通知创建的活​​动返回主 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13800680/

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