我已经阅读了许多关于是否可以阻止Android应用程序启动的问题,但所有答案似乎都是"不,你不能".
这个想法非常简单:我们希望用户能够使用将在其移动设备上预先安装的重新设定的应用程序集.如果用户尝试启动未授权的应用程序,系统将提示他输入要求输入PIN的对话框.如果他输入正确的PIN,那么他将能够运行该应用程序.否则,将不会运行该应用程序.
正如我之前所说,我可以找到的所有答案分为两类:"你不能那样做"和"你可以通过编写你自己的启动器应用程序来做到这一点".
但是,我已经看到了像ZDBox这样的应用程序,它们可以让你做到这一点.也就是说,使用ZDBox,您可以定义"非授权"应用程序,如果用户尝试启动其中一个,则需要输入PIN才能实际启动应用程序.如果他没有提供,应用程序将无法启动.有趣的是,ZDBox不需要root访问权来执行此操作.
所以我的问题是,我们如何阻止其他应用启动,就像ZDBox一样?
选项1
我见过的所有示例都涉及将您的应用程序作为启动器/主屏幕替代品运行。这就是我使用过的所有儿童锁风格应用程序的工作原理。这有一个好处
您可以查看 android Launcher2 代码来了解 Android 启动器的工作原理。https://android.googlesource.com/platform/packages/apps/Launcher2.git
选项2
我确实看到了一种替代方案。您可以尝试读取 logcat 条目来检测黑名单应用程序何时启动或带到前台,然后从顶部启动您的应用程序。
类似于如何检测用户何时启动另一个应用程序?(安卓)
| 归档时间: |
|
| 查看次数: |
4942 次 |
| 最近记录: |