【问题标题】:Close Activities TabHost launched on exit关闭活动 TabHost 在退出时启动
【发布时间】:2011-09-15 20:41:56
【问题描述】:

我正在开发一个使用 TabHost 的 Android 应用。我使用 Google 示例进行设置,它运行良好,但我想强制它启动的活动在用户单击退出时关闭。有没有办法做到这一点?我所能找到的只是有关如何开始一项新活动的示例,而不是关闭已经在运行的活动。

【问题讨论】:

    标签: android android-activity tabs android-tabhost


    【解决方案1】:

    从你的描述,我相信你是想调用finish();

    http://developer.android.com/reference/android/app/Activity.html#finish()

    如果这不是您所要求的,请扩展您的问题。

    更新

    查看意图标志。我用得最多的是FLAG_ACTIVITY_CLEAR_TOP

    http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

    【讨论】:

    • 对不起,我说得不够好。我在 TabHost 活动中调用了 finish(),但它在启动时启动的活动仍在后台运行。无论如何,我基本上可以在我的 TabHost 活动在 TabHost 活动的 onDestroy() 函数中开始的四个活动中的每一个上调用 finish() 吗?
    • 您可能需要查看用于完成和开始新活动的意图标志。有很多种,因此您需要通读它们以找出最适合您的一种。链接已添加到我的答案的更新部分
    【解决方案2】:

    您能否详细说明为什么要终止这些活动? Android 框架很乐意为您进行资源管理并根据需要终止活动以释放内存和处理能力。此外,每次用户单击选项卡主机中的特定选项卡时,强制 Android 重新启动通常会在实例化时加载的 Activity 会导致延迟。

    同样,您想这样做很可能有充分的理由,但您能解释一下吗?

    【讨论】:

    • 不是每次点击关闭一个选项卡,只有当点击退出菜单项时我创建。基本上,当程序退出时。我想要/需要这样做,因为一些数据库连接和游标处于打开状态,我不希望这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多