Android Home按钮禁用应用程序展示

时间:2013-09-18 11:13:16

标签: android forceclose kiosk-mode android-homebutton single-instance

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

博物馆管理员可以通过按钮退出此应用程序,该按钮会询问密码。

我已设法覆盖返回按钮。但主页按钮仍然有效。我用它来做我的主要活动:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

  

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

只有一个Application实例,以及主Activity的两个或多个实例。

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

通过在清单中为活动的元素launch mode属性提供,可以避免向活动堆栈添加相同活动的其他实例。

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