Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中查看服務是否開啟的工具類

Android中查看服務是否開啟的工具類

編輯:關於Android編程

這個也是昨天學習的,做下總結。

檢查服務是否開啟要寫成一個工具類,方便使用,傳服務的名字返回Boolean值,當然,因為需要,還要傳一個上下文context。

說一下這個工具類的幾個關鍵點:

1.方法要傳context和serviceName,context用來getSystemService()操作獲得ActivityManager。注意,這個方法參數要用大寫的Context中的參數:Context.ACTIVITY_SERVICE,要不然會出錯,還不知道哪錯的,花了我10分鐘的時間才知道,謹記下。

2.ActivityManager實例可以getRunningService()方法,參數是獲得服務最大數目,一般100就好。

3.上面的方法返回的事一個List,要對他進行遍歷,獲的每一個服務的名字,在比較,返回結果。


下面是具體代碼。


import java.util.List;

import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.Service;
import android.content.Context;

public class ServiceStateUtiles {
	
	public static Boolean isServiceRunning(Context context, String serviceName) {
		//獲取服務方法  參數 必須用大寫的Context!!!
		ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
		List infos = am.getRunningServices(100);
		for (RunningServiceInfo info : infos) {
			String className = info.service.getClassName();
			if(serviceName.equals(className)) 
				return true;
		}
		return false;
	}
}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved