阻止 Android 应用程序启动

2024-05-07

我读过很多关于是否可以阻止 Android 应用程序启动的问题,但所有答案似乎都是“不,你不能”。

这个想法非常简单:我们希望用户能够使用预装在其移动设备上的一组受限制的应用程序。如果用户尝试启动未经授权的应用程序,系统将提示他输入 PIN 码的对话框。如果他输入正确的 PIN,那么他将能够运行该应用程序。否则,应用程序将不会运行。

正如我之前所说,我在那里找到的所有答案都分为两类:“你不能这样做”和“你可以通过编写自己的启动器应用程序来做到这一点”。

不过,我见过 ZDBox 等应用程序,它可以让您做到这一点。也就是说,使用 ZDBox,您可以定义“非授权”应用程序,这样,如果用户尝试启动其中一个应用程序,则需要输入 PIN 码才能实际启动该应用程序。如果他未能提供,该应用程序将无法启动。有趣的是,ZDBox 不需要 root 访问权限来执行此操作。

所以我的问题是,我们如何才能阻止其他应用程序启动,就像 ZDBox 那样?


Option 1

我见过的所有示例都涉及将您的应用程序作为启动器/主屏幕替代品运行。这就是我使用过的所有儿童锁风格应用程序的工作原理。这有一个好处

  • 按主页按钮不会离开应用程序
  • 您可以控制应用程序的启动

您可以查看 android Launcher2 代码来了解 Android 启动器的工作原理。https://android.googlesource.com/platform/packages/apps/Launcher2.git https://android.googlesource.com/platform/packages/apps/Launcher2.git

Option 2

我确实看到了一种替代方案。您可以尝试读取 logcat 条目来检测黑名单应用程序何时启动或带到前台,然后从顶部启动您的应用程序。

类似于他们检测应用程序启动的方式如何检测用户何时启动另一个应用程序? (安卓) https://stackoverflow.com/questions/11346557/how-to-detect-when-the-user-launches-another-app-android

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 Android 应用程序启动 的相关文章

随机推荐