安卓应用锁在各大应用商店都有很多类似的产品,所以关于其功能我就不再过多的介绍了。
现在,我们来简单说说应用锁核心功能的实现原理:
- 首先,需要一个Service来实时监听当前运行的程序,判断是否为选中需要锁定的程序。这里需要设置一个时间间隔,不然会加重CPU的负担,增加耗电量。
- 如果当前正在显示的程序是被锁定的程序,那么我们需要弹出锁定窗口。让用户输入密码,这里应当注意:需要重写Back方法,实现返回桌面的功能。
- 如果输入密码正确,那么直接finish这个Activity就可以实现进入被锁定的应用了。如果密码错误,可作相应的提示,要求重新输入。
我们来分别讲解每个步骤如何实现的。
1、监听程序,需要用到ActivityManager当中的方法。代码如下:
<span style="white-space:pre"> </span>ActivityManager mActivityManager;
mActivityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName topActivity = mActivityManager.getRunningTasks(1).get(0).topActivity;
String packageName = topActivity.getPackageName();
通过上面的代码就可以获取到当前界面所属的应用的packageName。然后判断该应