Androidでドアを開けた犬のプログラムロックへの応用
1393 ワード
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();
}