我正在为博物馆开发一个应用程序,我需要该应用程序是访问者可以使用的唯一应用程序。
博物馆管理员可以通过按钮退出此应用程序,该按钮会询问密码。
我已设法覆盖返回按钮。但主页按钮仍然有效。我用它来做我的主要活动:
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" />
按下主页按钮时,这将重新加载主要活动。但是,当我尝试使用关闭按钮关闭应用程序时,我的应用程序的第一个实例已关闭,但不是第二个实例。管理员必须再次提供密码。
您可以想象如果用户按下主页按钮10次,管理员将很难退出。
有没有办法同时关闭我的应用程序的所有实例?
答案 0 :(得分:2)
当我尝试使用关闭按钮关闭应用程序时,我的应用程序的第一个实例已关闭但不是第二个实例
只有一个Application
实例,以及主Activity
的两个或多个实例。
我想你知道活动和应用程序之间的区别,但我认为提及它很重要......
通过在清单中为活动的元素launch mode属性提供,可以避免向活动堆栈添加相同活动的其他实例。
例如,根据文档提供android:launchMode="singleInstance"
,确保只能创建一个活动实例。尝试在已存在的活动之上启动相同的活动 - 将不会更改活动堆栈中的任何内容,而只是在现有活动实例上调用onNewIntent()
活动回调。