首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

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

2012-08-13 
获取和判断正在运行的服务void getTask() {ActivityManager activityManagertry {activityManager (Act

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

热点排行