Android开发之开门狗在程序锁中的应用实例
程序员文章站
2024-02-24 11:50:34
本文实例讲述了android开发之开门狗在程序锁中的应用方法。分享给大家供大家参考,具体如下:
protected static final string tag...
本文实例讲述了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程序设计有所帮助。
上一篇: java动态代理示例分享