读书人

获取跟判断正在运行的服务

发布时间: 2012-08-13 13:21:53 作者: rapoo

获取和判断正在运行的服务
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

读书人网 >移动开发

热点推荐