防止Android应用程序启动

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

这个想法很简单:我们希望用户能够使用一组预先安装在他的移动设备上的应用程序.如果用户尝试启动未授权的应用程序,系统将提示您输入PIN码.如果他输入正确的PIN码,他将能够运行应用程序.否则,应用程序将不会运行.

正如我之前所说,我可以找到的所有答案分为两类:“你不能这样做”,“你可以通过写自己的发射器应用程序”来做到这一点.

但是,我已经看到像ZDBox这样的应用程序,这样你就可以做到这一点.也就是说,使用ZDBox,您可以定义“非授权”应用程序,如果用户尝试启动其中一个应用程序,他将需要输入PIN才能实际启动应用程序.如果他没有提供,应用程序将不会启动.有趣的是,ZDBox不需要root访问权限来执行此操作.

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

解决方法

选项1

我看到的所有例子都涉及到运行您的应用程序作为启动器/主屏幕更换.这是我使用过的所有子锁定样式应用程序的工作原理.这具有优势

按住Home按钮不会离开应用程序
>您可以控制应用启动

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

选项2

看起来是一个可以看到的替代方案.在这种情况下,您可以尝试读取logcat条目以检测何时启动黑名单应用程序或将其引导到前台,然后在顶部启动应用程序.

类似于他们如何在How to detect when the user launches another app? (Android)发现应用程序

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...