Android程序锁的实现

本文详细介绍了如何实现Android程序锁,包括使用定时器、创建输入密码界面以屏蔽后退按钮并监听Home键,以及必要的权限声明。通过这些步骤,可以确保应用程序在指定条件下被锁定,提高应用安全性。
摘要由CSDN通过智能技术生成

1.程序功能介绍

本程序实现对特定应用的监听,当特定应用前台运行时,立刻弹出本程序锁应用界面,用户输入正确密码后,才能转到特定应用继续使用,用户点击后退按钮无效,点击home键后,再启动被锁应用后,仍然调用输入密码界面。

2.关键知识点

定时器timer的使用,查看当前运行程序 getRunningAppProcesses()的使用,程序前后台转换 moveTaskToFront()  、 moveTaskToBack()的使用,监听点击home键 onUserLeaveHint()的重写使用,重写 onKeyDown()等。

3.程序实现

3.1定时器实现

用timer实现定时查看当前前台运行程序,如果是“微信”(本程序使用微信做例子),而且用户没有通过输入密码进入微信,则调用LockActivity.class,也就是写好的程序输入密码界面,并将本程序在前台显示,如果不加前台显示的代码,程序就不会弹出在屏幕上了……,具体代码如下:
public class TimerServer {
    boolean clock;
    public void timer(final Context context, boolean clock1){
        //clock为程序锁标志位,true为启用程序锁功能,false为禁用程序锁功能,
        //当用户已经输入密码,进入被锁程序后,程序锁标志位为false;其他情况为true
        clock=clock1;

        Timer timer=new Timer();
        final TimerTask timerTask=new TimerTask() {
            @Override
            public void run() {
                ActivityManager myActivityManager= 
                       (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
                List<ActivityManager.RunningAppProcessInfo> list=
                        myActivityManager.getRunningAppProcesses();
                List<ActivityManager.RunningTaskInfo> list_task=
                        myActivityManager.getRunningTasks(100);
                //如果当前前台运行程序不是微信,则给微信加锁。
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值