gpt4 book ai didi

java - Android: launchMode=SingleTask 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:59:12 25 4
gpt4 key购买 nike

我有一个围绕主要 Activity (主菜单)的应用程序。在每个其他应用程序中,都有一个指向此 Activity 的选项菜单项。

起初,我总是在选择这个项目时开始一个新的主要 Activity 。使用 intent bundle,我确实告诉主要 Activity 我在新开始时所做的一些初始化是不必要的。

但是,我不太喜欢整体行为。我偶然发现了 android:launchMode="SingleTask" 这似乎有所帮助:现在我不会一直重新创建我的主菜单 Activity ;另外,如果我按下“后退”按钮,我会直接回到主屏幕。这感觉就像一个合适的“主”菜单。

我现在的问题是:如果我运行我的应用程序的另一个 Activity ,按下主页按钮然后重新打开我的应用程序(例如使用“上一个应用程序”),那么我不会返回到上一个 Activity ,而是返回到主要的。另一个 Activity 被销毁。

我有什么想法可以实现 SingleTask 的行为,而不是只能返回一个 Activity 吗?

最佳答案

如果您的其他 Activity 在 Android 中使用默认的 Activity 正常声明,那么返回到您的应用应该会将您带到您离开的同一 Activity(使用硬件主页按钮)

但是请记住,Android 系统会在需要系统资源时杀死应用程序。所以当你去其他应用程序时,你的应用程序可能已经被杀死。然后,当您返回您的应用时,默认的启动器 Activity 将重新启动,即您的菜单 Activity。

要从任何 Activity 返回到主要 Activity ,请执行以下操作:

public static void goHome(Context context) {
final Intent intent = new Intent(context, HomeActivity.class); //give name of your main activity class here
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
}

这将清除 Activity 堆栈并让您返回到您的主要 Activity。当您声明 singleTop 时,它会将现有的主要 Activity 带到前台。标志 Intent.FLAG_ACTIVITY_CLEAR_TOP 将删除堆栈中主要 Activity 顶部的所有 Activity 。 (我假设您在同一个应用程序中)。

现在,所有其他 Activity 只需要包含一个按钮,其点击监听器调用方法 goHome();

在您的主要 Activity 中,如果您按下硬件后退按钮,它应该会退出您的应用。

关于java - Android: launchMode=SingleTask 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6017505/

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