Android開發(fā)之開門狗在程序鎖中的應用實例
更新時間:2016年02月19日 10:18:45 作者:lg878398509
這篇文章主要介紹了Android開發(fā)之開門狗在程序鎖中的應用,以完整實例形式分析了程序鎖的使用技巧,需要的朋友可以參考下
本文實例講述了Android開發(fā)之開門狗在程序鎖中的應用方法。分享給大家供大家參考,具體如下:
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開發(fā)入門與進階教程》、《Android通信方式總結》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
您可能感興趣的文章:
相關文章
Android貝塞爾曲線初步學習第三課 Android實現添加至購物車的運動軌跡
這篇文章主要為大家詳細介紹了Android貝塞爾曲線初步學習第三課,Android實現添加至購物車的運動軌跡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
Android Studio使用教程(五):Gradle命令詳解和導入第三方包
這篇文章主要介紹了Android Studio使用教程(五):Gradle命令詳解和導入第三方包,本文講解了導入Android Studio、Gradle常用命令等內容,需要的朋友可以參考下2015-05-05

