Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發之開門狗在程序鎖中的應用實例

Android開發之開門狗在程序鎖中的應用實例

編輯:關於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相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android通信方式總結》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved