zoukankan      html  css  js  c++  java
  • Android 判断Service是否开启

    被判断的Service 必须是带包名的全名

    通过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;  
        }

    判断服务是否存在

    ActivityManager mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    
      List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30);
    
      // 我要判断的服务名字,必须是带包名的全名
      final String musicClassName = "rod.fasdf.TService";
    
      boolean b = MusicServiceIsStart(mServiceList, musicClassName);
      System.out.println("服务是否开启======>"+b);

    例子如下:

    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;  
        }  
    } 
    
     
  • 相关阅读:
    问答
    正在设计taijilang的解析器,真可谓尸横遍地
    因为这些理由而坚持用grunt?其实它们都不成立。
    开始设计taijijs
    从grunt转到gulp
    google 索引
    :: operator
    用coffeescript写构造函数
    jade与angular.js
    angular.js 资料收集
  • 原文地址:https://www.cnblogs.com/xuewater/p/2591452.html
Copyright © 2011-2022 走看看