Android 当按下后退/主页按钮时,如何阻止我的应用退出?

Android 当按下后退/主页按钮时,如何阻止我的应用退出?,android,back-button,android-homebutton,Android,Back Button,Android Homebutton,我正在为它安装到的平板电脑制作一个专用的应用程序。我想设置一个限制,这样当按下后退按钮或主页按钮时,用户将被提示输入密码,如果密码正确,应用程序将被允许退出 我不确定这是否是个好主意。您正以这种方式“阻止”用户。您可能可以覆盖“后退”按钮,但无法覆盖(如果不使应用程序成为启动器) 我做了一种“kiosk”应用程序,我有同样的要求。最后,我对设备进行了根操作,并使用了这个应用程序。用户无法返回,管理员有一个按钮,可以用密码进入“管理面板”。在这个管理面板中,你可以按下一个按钮进入启动器。从那里,您

我正在为它安装到的平板电脑制作一个专用的应用程序。我想设置一个限制,这样当按下后退按钮或主页按钮时,用户将被提示输入密码,如果密码正确,应用程序将被允许退出

我不确定这是否是个好主意。您正以这种方式“阻止”用户。您可能可以覆盖“后退”按钮,但无法覆盖(如果不使应用程序成为启动器)


我做了一种“kiosk”应用程序,我有同样的要求。最后,我对设备进行了根操作,并使用了这个应用程序。用户无法返回,管理员有一个按钮,可以用密码进入“管理面板”。在这个管理面板中,你可以按下一个按钮进入启动器。从那里,您可以使用隐藏栏应用程序中包含的小部件恢复返回和主页按钮。

我不确定这是否是一个好主意。您正以这种方式“阻止”用户。您可能可以覆盖“后退”按钮,但无法覆盖(如果不使应用程序成为启动器)


我做了一种“kiosk”应用程序,我有同样的要求。最后,我对设备进行了根操作,并使用了这个应用程序。用户无法返回,管理员有一个按钮,可以用密码进入“管理面板”。在这个管理面板中,你可以按下一个按钮进入启动器。从那里,您可以使用隐藏栏应用程序中包含的小部件恢复后退按钮和主页按钮。

覆盖后退按钮非常简单,只需覆盖Activity.onBackPressed()即可执行任何操作。不要调用super(),否则它将关闭活动


覆盖主页按钮的问题更大。要做到这一点,唯一的办法就是。然后按home并选择您的应用程序作为默认启动程序。

覆盖back按钮非常简单,只需覆盖Activity.onBackPressed()即可执行任何您想要的操作。不要调用super(),否则它将关闭活动

覆盖主页按钮的问题更大。要做到这一点,唯一的办法就是。然后按home并选择您的应用程序作为默认启动器。

这可能有助于您设置通行证。



这可能有助于您设置密码。

您可以重写onPause()方法来执行此操作。请不要这样做,那样会很糟糕@2请注意,该应用程序将是其安装到的平板电脑的专有应用程序。您可以重写onPause()方法来执行此操作。请不要这样做,这将是非常可怕的@2请注意,该应用程序将是其安装到的平板电脑独有的。您可以完全覆盖home(主页)按钮。看我的答案。@BarryFruitman你并没有真正推翻它。您正在创建一个启动器。我不认为,按下home(主页)按钮后,用户会很高兴被提示使用“Sense”或“MyNiceBlockingApp”作为新的启动器。该应用程序将仅限于其安装到的硬件/平板电脑。@Enrichman这就是为什么我说他第一次必须手动操作的原因。你可以完全覆盖home(主页)按钮。看我的答案。@BarryFruitman你并没有真正推翻它。您正在创建一个启动器。我不认为,按下home(主页)按钮后,用户会很高兴被提示使用“Sense”或“MyNiceBlockingApp”作为新的启动器。该应用程序将仅限于安装该应用程序的硬件/平板电脑。@Enrichman这就是为什么我说他第一次必须手动操作的原因。谢谢。。这是一个很大的帮助。是的,主页按钮确实有问题。如果应用程序是作为启动器制作的,如何恢复到旧启动器?这完全可能吗?@ChristianBurgos是的,完全可能。只需进入设置,应用程序,“你的应用程序”,清除默认值。这样如何,如果应用程序是选择的默认启动器,那么我将如何进行设置?@ChristianBurgos,这就是为什么我认为这种方法不起作用的原因。你应该重新考虑流程。其中一个可能就是我建议的。@ChristianBurgos我知道一个应用程序可以通过编程方式取消注册为默认启动器,但我不知道如何取消注册。我知道这是可能的,因为这个应用程序做到了:)谢谢你。。这是一个很大的帮助。是的,主页按钮确实有问题。如果应用程序是作为启动器制作的,如何恢复到旧启动器?这完全可能吗?@ChristianBurgos是的,完全可能。只需进入设置,应用程序,“你的应用程序”,清除默认值。这样如何,如果应用程序是选择的默认启动器,那么我将如何进行设置?@ChristianBurgos,这就是为什么我认为这种方法不起作用的原因。你应该重新考虑流程。其中一个可能就是我建议的。@ChristianBurgos我知道一个应用程序可以通过编程方式取消注册为默认启动器,但我不知道如何取消注册。我知道这是可能的,因为这个应用程序做到了:)