列出Android设备中所有启动的服务,及判断某个服务是否开启

来源:互联网 发布:魅族 知乎 pro7 编辑:程序博客网 时间:2024/04/29 10:25

 http://407827531.iteye.com/blog/975394

 

 

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; 
    } 
原创粉丝点击