当前位置: 移动技术网 > 移动技术>移动开发>Android > Android开发之开门狗在程序锁中的应用实例

Android开发之开门狗在程序锁中的应用实例

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文实例讲述了android开发之开门狗在程序锁中的应用方法。分享给大家供大家参考,具体如下:

protected static final string tag = "watchdogservice";
private applockdao dao;
private list<string> lockapps;
private activitymanager am;
private intent lockappintent;
@override
public ibinder onbind(intent intent) {
    return null;
}
/**
* 服务第一次被调用的时候调用 的方法
*/
@override
public void oncreate() {
    super.oncreate();
    dao = new applockdao(this);
    //得到所用的要锁定的应用程序
    lockapps = dao.getallpackname();
    am = (activitymanager) getsystemservice(activity_service);
    lockappintent = new intent(this,lockscreenactivity.class);
    lockappintent.setflags(intent.flag_activity_new_task);
    new thread(){
      public void run() {
        while(true){
          try {
            //得到当前正在运行应用程序的报名
            //返回系统里的任务栈的信息,taskinfos只有一个元素,对应当前正在运行的应用程序
            list<runningtaskinfo> taskinfos = am.getrunningtasks(1);
            runningtaskinfo currenttask = taskinfos.get(0);
            //获取当前用户可见的activity所在的程序的包名
            string packname = currenttask.topactivity.getpackagename();
            log.i(tag, "当前运行的程序包名:"+packname);
            if(lockapps.contains(packname)){//锁定
              lockappintent.putextra("packname", packname);
              startactivity(lockappintent);
            }else{//放行
            }
            sleep(200);
          } catch (exception e) {
            e.printstacktrace();
          }
        }
      };
    }.start();
}

更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android通信方式总结》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网