APP--监测已开启应用/启动第三方应用
package com.check.ft;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import android.app.ActivityManager;
import android.app.Service;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class CheckService extends Service {
Timer timer;
TimerTask task;
String packageName="com.cart.view";
String appName="com.cart.view.VideoPlayerActivity";
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.d("Timiing","-------------------onCreate--");
timer=new Timer();
task=new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
if (!getTask(appName)) {
Log.d("Timiing", "---task--------------");
openTV(packageName,appName);
}
}
};
timer.schedule(task, 2*60000, 60000);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if (timer!=null) {
timer.cancel();
}
if (task!=null) {
task.cancel();
}
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
Log.d("Timiing","-------------------onStart--");
}
boolean getTask(String taskName)
{
ActivityManager aManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> mRunningTasks=aManager.getRunningTasks(30);
for (RunningTaskInfo taskInfo : mRunningTasks) {
Log.d("Timiing",taskInfo.id+"-id--------name--"+taskInfo.baseActivity.getClassName());
if (taskInfo.baseActivity.getClassName().equals(taskName)) {
return true;
}
}
return false;
// List<RunningServiceInfo> mRunningServiceInfo=aManager.getRunningServices(30);
// for (RunningServiceInfo serviceInfo : mRunningServiceInfo) {
// Log.d("Timiing",serviceInfo.pid+"--pid----+++++----process--"+serviceInfo.process);
// }
}
void openTV(String pName,String aName)
{
Log.d("Timiing", pName+"---pName------------aName--"+aName);
Intent intent=new Intent();
intent.setClassName(pName, aName);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
}
}