这里有新鲜出炉的精品教程,程序狗速度看过来!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了Android开发之开门狗在程序锁中的应用,以完整实例形式分析了程序锁的使用技巧,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
来源: http://www.phperz.com/article/17/0914/348991.html