android中开门狗在程序锁中的应用

来源:互联网 发布:淘宝介入买家举证时间 编辑:程序博客网 时间:2024/04/28 04:45
protected static final String TAG = "WatchDogService";private AppLockDao dao;private List<String> lockApps;private ActivityManager am;private Intent lockappintent;@Overridepublic IBinder onBind(Intent intent) {return null;}/** * 服务第一次被调用的时候调用 的方法 */@Overridepublic 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();}