天天看點

android 判斷service是否開啟

package com.tutor.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 {  

/** Called when the activity is first created. */  

@Override   

public void onCreate(Bundle savedInstanceState) {  

super.onCreate(savedInstanceState);  

//setContentView(R.layout.main);   

TextView mTextView = new TextView(this);  

ActivityManager mActivityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);   

List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30);  

//我要判斷的服務名字,我在launcher2裡加了一個音樂服務   

final String musicClassName = "com.android.launcher2.MusicService";   

boolean b = MusicServiceIsStart(mServiceList, musicClassName);   

mTextView.setText("你要判斷的服務狀态為: " +b+"\n" + getServiceClassName(mServiceList));  

setContentView(mTextView);  

}  

//通過Service的類名來判斷是否啟動某個服務   

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;  

//擷取所有啟動的服務的類名   

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;  

}   

下一篇: 短除法

繼續閱讀