前言
偶然需要使用,记录于此。
好记性不如烂笔头
正文
使用getRunningServices获取运行的服务
有时候需要盘服务是否启动,如果没有启动就需要拉起来
PS:SERVICE_PACKAGENAME和SERVICE_NAME分别是定义的包名和服务包名,这里省略。
/** * start service */ private void startService() { try { if (!isServiceRunning(SERVICE_NAME)) { Intent intent = new Intent(); intent.setComponent(new ComponentName(SERVICE_PACKAGENAME, SERVICE_NAME)); startService(intent); } } catch (Exception e) { e.printStackTrace(); } return; }
/** * @param serviceName * @return */ @SuppressWarnings("deprecation") public boolean isServiceRunning(String serviceName) { try { if (TextUtils.isEmpty(serviceName)) { return false; } ActivityManager myManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); ArrayList<ActivityManager.RunningServiceInfo> runningService = (ArrayList<ActivityManager.RunningServiceInfo>) myManager.getRunningServices(Integer.MAX_VALUE); for (int i = 0; i < runningService.size(); i++) { if (runningService.get(i).service.getClassName().toString() .equals(serviceName)) { return true; } } } catch (Exception e) { e.printStackTrace(); } return false; }
注意事项
在实际测试中,Android 9.0的设备上测试。
- 系统应用 :可以获取运行的Service
- 非系统应用 :无法获取运行的Service
getRunningServices()说明废弃了,同时也说明,Android O后不在提供给第三方应用。
参考文章
暂无评论...
随机推荐
[摘]Java去除字符串中的空格
前言这篇文件是关去除空格符的,之前也想整理一下,但迟迟没有,因此今天有空摘抄于此。下面只是用了Java提供的两种方式,一种只是去除文末或开头的trim(),另外一种是用replaceAll()正则表达式匹配。本文摘抄,具体原文链接在文末。正文String.trim()String.tr...
MediaPlayer JNI层介绍
前言之前的《MediaPlayer java层介绍》只是介绍了java中的常用方法,对于JNI层的调用没有进一步介绍,今天就介绍一下JNI层。个人流水账哈,推荐看其他人的,我这只是自己的跟踪记录涉及的代码:frameworks\base\media\java\android\media\M...
[摘]车载MediaSession框架理解
前言本文内容主要介绍Android车载多媒体开发MediaSession框架知识,而且内容是阅读参考文的笔记。记录于此,方便自己查阅。好记性不如烂笔头。正文这里摘抄我自己想了解的,而且只是记录一下,有兴趣的还是看原文,多谢理解。Android AutoAndroid Auto就是...
Android Jetpack - Navigation的简单使用
前言Android Jetpack的Navigation确实好用,这里就简单记录一下,方便自己查阅。这个出来了很久了,但也就偶尔用用,用完就忘了,正应了微信之父张小龙的名言[用完即走]。PS: 好记性不如烂笔头。正文Jetpack的导航组件——Navigation,就可以很方便的管理各f...
龙应台:中国人,你为什么不生气?
在昨晚的电视新闻中,有人微笑着说:"你把检验不合格的厂商都揭露了,叫这些生意人怎么吃饭?"我觉得恶心,觉得愤怒。但我生气的对象不是这位人士,而是台湾1800万的懦弱自私的中国人。我所不能了解的是:中国人,你为什么不生气?包德莆的《苦海余生》英文原本中有一段他在台湾的经验:他看见一辆车子把小孩子...
MediaScanner源码JNI介绍2
前言接上文《MediaScanner源码JNI介绍》介绍register_android_media_MediaScanner的registerNativeMethods()注册是在android_media_MediaPlayer.cpp中JNI_OnLoad,上次有个疑惑,哪何时加载JNI_...