Android 退出命令后应用程序立即重新启动

Android 退出命令后应用程序立即重新启动,android,exit,launch,Android,Exit,Launch,我正在编写一个简单的应用程序,在主菜单上有一个“退出”按钮,我想退出该应用程序。但是,当我使用在线找到的任何策略(finish、system.exit、UIHelper.killApp等)时,活动将关闭,但整个应用程序也不会关闭。相反,在进入主菜单之前出现5秒钟的闪屏会重新出现 如果直接启动到主菜单,应用程序将正确退出,但我希望启动到启动活动 非常感谢您的建议。正如@ChrisStratton和@Simon在评论中指出的那样,提供退出按钮违反了Android UI原则。然而,在某些情况下,退出按

我正在编写一个简单的应用程序,在主菜单上有一个“退出”按钮,我想退出该应用程序。但是,当我使用在线找到的任何策略(finish、system.exit、UIHelper.killApp等)时,活动将关闭,但整个应用程序也不会关闭。相反,在进入主菜单之前出现5秒钟的闪屏会重新出现

如果直接启动到主菜单,应用程序将正确退出,但我希望启动到启动活动


非常感谢您的建议。

正如@ChrisStratton和@Simon在评论中指出的那样,提供退出按钮违反了Android UI原则。然而,在某些情况下,退出按钮是合理的

因此,首先,请确保您确实需要一个退出按钮,而离开活动并不是功能方面的充分考虑。如果只希望某些工作流使用“退出”按钮,请将其设置为可自定义(默认情况下禁用)。有关Android应用程序应该如何设计的一般概述,请参阅



对于您的实际问题,将
android:noHistory=“true”
添加到您的启动器活动声明中。这将阻止用户返回启动器。但是,这不一定会使应用程序表现得像一个封闭的桌面应用程序,例如,您的应用程序可能有多个入口点(意图、启动器、密码、通知等)。

您的根本问题是试图从应用程序“退出”。不要这样做——这让Android堆栈感到意外,它重新创建了这个过程。除了对正在开发的代码运行某些测试之外,“退出”的合法用例非常罕见。请不要在应用程序中放置“退出”按钮。它是反安卓的。我认为它的唯一有效用途是停止后台进程。如果这是您正在尝试做的,请编辑您的问题以进一步解释。谢谢。我的一个团队成员坚持使用它,因为我们的目标是那些不知道如何使用UI的老年人。所以,我会把这个转发给你。