Android(安卓)判断Service是否开启
16lz
2021-01-24
被判断的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; } }
更多相关文章
- Android(安卓)studio修改apk release打包后的名字
- 【ClassNotFoundExcept】Android应用程序启动时发生AndroidRunti
- 解决android下创建avd设备不成功.txt
- android studio 如何修改app名字、修改app图标
- Android跟风瞎混 - 1
- android studio更改module名字
- android SDK升级到99报错怎么办
- 关于使用Android(安卓)Application的注意点
- WIFI名字为特殊字符显示乱码(MTK)