Android开发之开门狗在程序锁中的应用实例
本文实例讲述了Android开发之开门狗在程序锁中的应用方法。分享给大家供大家参考,具体如下:
protectedstaticfinalStringTAG="WatchDogService";
privateAppLockDaodao;
privateList<String>lockApps;
privateActivityManageram;
privateIntentlockappintent;
@Override
publicIBinderonBind(Intentintent){
returnnull;
}
/**
*服务第一次被调用的时候调用的方法
*/
@Override
publicvoidonCreate(){
super.onCreate();
dao=newAppLockDao(this);
//得到所用的要锁定的应用程序
lockApps=dao.getAllPackName();
am=(ActivityManager)getSystemService(ACTIVITY_SERVICE);
lockappintent=newIntent(this,LockScreenActivity.class);
lockappintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
newThread(){
publicvoidrun(){
while(true){
try{
//得到当前正在运行应用程序的报名
//返回系统里的任务栈的信息,taskInfos只有一个元素,对应当前正在运行的应用程序
List<RunningTaskInfo>taskInfos=am.getRunningTasks(1);
RunningTaskInfocurrentTask=taskInfos.get(0);
//获取当前用户可见的Activity所在的程序的包名
StringpackName=currentTask.topActivity.getPackageName();
Log.i(TAG,"当前运行的程序包名:"+packName);
if(lockApps.contains(packName)){//锁定
lockappintent.putExtra("packname",packName);
startActivity(lockappintent);
}else{//放行
}
sleep(200);
}catch(Exceptione){
e.printStackTrace();
}
}
};
}.start();
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android通信方式总结》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。