Android判断后台Service服务是否运行,获取所有的服务
16lz
2021-01-26
在项目开发过程中,常常需要在开启一个服务之前判断该服务是否已经在运行。
//本方法判断自己写的一个Service-->com.star.myService是否已经运行 public static boolean isServiceRunning() { ActivityManager myManager=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); ArrayList<RunningServiceInfo> runningService = (ArrayList<RunningServiceInfo>) myManager.getRunningServices(30); for(int i = 0 ; i<runningService.size();i++) { if(runningService.get(i).service.getClassName().toString().equals("com.star.myService")) { return true; } } return false; }
以传参的方式将该方法改造成判断服务是否运行的通用方法,开启服务前先判断,避免重复开启,引发不可预料的异常。
//本方法判断服务是否已经运行 public static boolean isServiceRunning(String serviceName) { ActivityManager myManager=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); ArrayList<RunningServiceInfo> runningService = (ArrayList<RunningServiceInfo>) myManager.getRunningServices(30); for(int i = 0 ; i<runningService.size();i++) { if(runningService.get(i).service.getClassName().toString().equals(serviceName)) { return true; } } return false; }
更多最新资讯请关注本博客!点击进入:来自星星的礼丶精品屋
更多相关文章
- Android(安卓)Studio-2.3 打包运行App报错问题。
- Android(安卓)recovery工作原理
- 移动接口开发:JAVA判断是android还是ios 端请求
- win7 cmd终端连接android手机运行adb shell脚本命令
- Android(安卓)HTTP 服务
- Android(安卓)使用 MuMu模拟器 进行程序调试
- Android(安卓)Studio中的跨进程访问(aidl)
- AndroidStudio在Ubuntu13.10的64位系统报错问题
- basic4android 开发 推送功能