获取和判断正在运行的服务
void getTask() {
ActivityManager activityManager;
try {
activityManager = (ActivityManager) this
.getSystemService(ACTIVITY_SERVICE);
arylistTask =
new ArrayList<String>();
List<ActivityManager.RunningTaskInfo> mRunningTasks =
activityManager.getRunningTasks(30); //30表示获取的最大数
/* 以循环及baseActivity方式取得任务名称与ID */
for (RunningTaskInfo amTask : mRunningTasks)
{
Log.d("TaskInfo", amTask.baseActivity.getClassName()+"("+amTask.id+")");
}
//获取服务
List<RunningServiceInfo> mserviceTasks =
activityManager.getRunningServices(30);
/* 以循环方式取得任务名称与ID */
for (RunningServiceInfo serinfo : mserviceTasks)
{
Log.d("TaskServerInfo", serinfo.process+"("+serinfo.pid+")");
}
}
catch (Exception e)
{
}
--------------String serviceinfo;
String serviceClassName;//需要判断服务的名称
ActivityManager am=(ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
//获取后台运行的服务,参数50代表获取的最大数,可以自定义
List<RunningServiceInfo> runninglist = am.getRunningServices(50);
//将获取到的服务名称赋值给字符串serviceinfo
for(RunningServiceInfo info :runninglist){
serviceinfo+=info.service.getClassName()+"...\n";
}
//for (int i = 0; i < runninglist.size(); i++) {
// serviceinfo+=list.get(i).service.getClassName()+"...\n";
// }
//判断服务是否运行
for(int i=0;i<runninglist.size();i++){
if(serviceClassName.equals(runninglist.get(i).service.getClassName())){
//serviceClassName服务正在运行
...
}
}
--------------
import java.util.Iterator; import java.util.List; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.RunningServiceInfo; import android.app.Service; imp
Android获取正在运行的服务,如下代码:
import java.util.Iterator; import java.util.List; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.RunningServiceInfo; import android.app.Service; import android.content.ComponentName; import android.content.Context; import android.os.Bundle; public class getRunningServicesInfo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getRunningServicesInfo(this); } //RunningServicesInfo public static String getRunningServicesInfo(Context context) { StringBuffer serviceInfo = new StringBuffer(); final ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> services = activityManager.getRunningServices(100); Iterator<RunningServiceInfo> l = services.iterator(); while (l.hasNext()) { RunningServiceInfo si = (RunningServiceInfo) l.next(); serviceInfo.append("pid: ").append(si.pid); serviceInfo.append("\nprocess: ").append(si.process); serviceInfo.append("\nservice: ").append(si.service); serviceInfo.append("\ncrashCount: ").append(si.crashCount); serviceInfo.append("\nclientCount: ").append
(si.clientCount); serviceInfo.append("\nactiveSince: ").append(si.activeSince); serviceInfo.append("\nlastActivityTime: ").append(si.lastActivityTime); serviceInfo.append("\n\n"); } System.out.println(serviceInfo.toString()); return serviceInfo.toString(); } }
-----------http://hbczzsw.iteye.com/blog/746177