首页 > 代码库 > Android高手之路之获取正在运行的service,以及判断某个service是否正在运行
Android高手之路之获取正在运行的service,以及判断某个service是否正在运行
注:本文改自http://blog.csdn.net/android_tutor/article/details/5824581
其实主要是用了activityManager的getRunningServices来获取正在运行的service的列表。然后用正在运行的服务的名称去比对相等。
看代码:
package com.example.runningservice; import java.util.List; import android.app.Activity; import android.app.ActivityManager; import android.os.Bundle; import android.widget.TextView; public class RunningService extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView mTextView = new TextView(this); ActivityManager mActivityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30); // the service name which u want to judge final String musicClassName = "com.android.launcher2.MusicService"; boolean b = MusicServiceIsStart(mServiceList, musicClassName); mTextView.setText("the service u need to judge is:"+b+"\n"+"all is:"+getServiceClassName(mServiceList)); setContentView(mTextView); } //judge the service is start private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){ for(int i=0;i<mServiceList.size();++i){ if(className.equals(mServiceList.get(i).service.getClassName())){ return true; } } return false; } // get all service name of list private String getServiceClassName(List<ActivityManager.RunningServiceInfo> mServiceList){ String res = ""; for(int i=0;i<mServiceList.size();++i){ res +=mServiceList.get(i).service.getClassName()+"\n"; } return res; } }
效果:
Android高手之路之获取正在运行的service,以及判断某个service是否正在运行
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。