我对我找到的Android应用程序锁定程序都不满意,希望创建自己的程序,但我在实现实际锁定方面遇到了困难。如何在Android上实现应用程序锁定?
问题有两个:
检测Intent,通常来自启动器调用startActivity()或广告启动市场应用程序(我不是指广播Intent - 我需要处理显式活动意图)。
- 我看到的锁定应用程序的权限都有“读取系统日志文件”和/或“检索正在运行的应用程序”,这表明它们可能使用轮询来查找应用程序启动。如果可能,我想找到更好的解决方案。
防止已锁定的应用程序处理Intent。除非输入密码,否则我不想允许锁定的应用程序运行,因为无法确定它启动时会执行什么操作。
- 在运行我的当前应用程序锁定程序时,logcat首先显示锁定应用程序的Intent,然后再显示应用程序锁定程序的Intent,中间没有任何内容(间隔时间为10-20ms)。如果我输入正确的密码,那么我会看到“ActivityManager:moveTaskToBack”。
- 我尝试了一个测试应用程序,证明在锁定应用程序且未输入正确密码的情况下,不会调用任何Activity回调。因此,它似乎防止了应用程序启动(但我不知道如何实现)。
- 我可以使用ActivityManager.killBackgroundProcesses()来停止一个应用程序,但是我无法保证应用程序在“被杀死”之前没有已经开始运行。
有人知道应用程序锁定应用程序是如何实现的,或者有什么好主意可以做到吗?