1

我正在为博物馆开发一个应用程序,我需要该应用程序是唯一可供参观者使用的应用程序。

博物馆的管理员可以通过一个要求输入密码的按钮退出此应用程序。

我已经设法覆盖了返回按钮。但是主页按钮仍然处于活动状态。我将其用于我的主要活动:

<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> 

这将在按下主页按钮时重新加载主要活动。但是,当我尝试使用关闭按钮关闭应用程序时,我的应用程序的第一个实例已关闭,但第二个未关闭。管理员必须再次提供密码。

你可以想象,如果用户按了 10 次主页按钮,管理员将很难退出。

有没有办法同时关闭我的应用程序的所有实例?

4

1 回答 1

2

当我尝试使用关闭按钮关闭应用程序时,我的应用程序的第一个实例已关闭,但第二个未关闭

你的只有一个实例Application,而你的 main 有两个或多个实例Activity

我想您知道活动和应用程序之间的区别,但我认为提及它很重要......

您可以通过在清单中提供活动的元素启动模式属性来避免将同一活动的其他实例添加到活动堆栈中。

例如,android:launchMode="singleInstance"根据文档提供,确保只能创建一个活动实例。尝试在已经存在的活动之上启动相同的活动 - 根本不会改变活动堆栈中的任何内容,而只是onNewIntent()在已经存在的活动实例上调用活动回调。

于 2013-09-18T11:54:28.657 回答