阻止用户强制停止我的应用程序

stopping the user from forcing stop my app

关于Android(6.0到最新版本)

我正在开发一个应用程序,我们希望用户在接受所有条款后,无法终止进程或强行停止应用程序。老实说,我现在完全迷路了,因为在 android 的最新版本上,特别是像小米这样的品牌,我们遇到了很多麻烦,我们现在不知道该怎么办.

在不可能的情况下,至少可以在用户终止应用程序时收到警报吗?

谢谢!!

无法阻止用户终止应用程序。 Android 是一个独特的系统,应用程序无法直接控制其生命周期,但系统可以。系统可以(并且会在需要时)自行终止应用程序或其任何进程。为了让您的应用程序了解这些变化,android 框架提供了各种回调,例如 onPauseonStoponDestroy,当用户终止应用程序时会连续调用这些回调.

旁注:无法保证 onDestroy() 会在应用程序被终止时完全执行。不要在那里放置必要的代码。

当然,您可以通过覆盖后退、主页和最近按钮来阻止或尝试阻止用户关闭您的应用程序,但强烈建议不要这样做。即使您这样做成功了,用户也可以通过其他方式关闭您的应用程序,例如重新启动他们的 phone。

那怎么办?

您正在寻找 kiosk 模式应用程序。 Kiosk 模式用于单一目的 phone,例如在餐厅或出租车 driver。 Kiosk 模式应用程序将用户锁定到一个特定的应用程序(或一组特定的应用程序)。

对于普通应用,无法阻止用户强行关闭您的应用。如上所述,您只能通过检查生命周期更改来获取警报。此外,根本不建议更改 android 上硬件按钮的自然行为。用户仍然可以找到关闭您的应用程序的方法。如果您的应用程序正在做一些非常重要的事情,应该在后台进行,请考虑为此使用服务。此外,如果用户 发现您的应用太过具有侵入性并且您将无法在这种情况下执行任何操作,则他们可以随时卸载 您的应用。

Tl;dr:使用 kiosk 模式 防止用户退出应用程序。这将只允许用户在他们的设备上访问您的应用程序。

通常你不能!即使您尝试禁用某些按钮,用户也可以随时停止应用程序或重启设备。此外,OS 有时会停止应用程序。作为程序员,你的责任是围绕这个进行编程,并给用户一种它从未停止过的感觉。如果你正在做后台监控,你将需要使用服务。用户仍然可以停止服务。话虽如此,您可以将您的应用程序设置为设备管理应用程序,请参阅 here,这可能不允许停止,但除非您在公司内部分发,否则没有人会安装。