从品牌网站建设到网络营销策划,从策略到执行的一站式服务
怎么在Android系统中添加服务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
如何获取系统服务
我们获取系统服务都是在context中,getSystemService获取到的. 那么我们看一下getSystemService发生了哪些些事情.
getSystemService的实现是ContextImpl,我们去看一下ContextImpl的源码就知道了.
Android 4.4.4 (KitKat)
这里是Android4.4.4的源码, 6.0的源码过会儿看.
//这是我们获取服务的路口 @Override public Object getSystemService(String name) { //可以看到我们是从一个HashMap中拿的服务. ServiceFetcher fetcher = SYSTEM_SERVICE_MAP.get(name); return fetcher == null ? null : fetcher.getService(this); } private static final HashMapSYSTEM_SERVICE_MAP = new HashMap (); //这是注册服务的方法,请注意是静态方法 private static void registerService(String serviceName, ServiceFetcher fetcher) { if (!(fetcher instanceof StaticServiceFetcher)) { fetcher.mContextCacheIndex = sNextPerContextServiceCacheIndex++; } SYSTEM_SERVICE_MAP.put(serviceName, fetcher); }
咨询相关问题或预约面谈,可以通过以下方式与我们联系
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询400-028-6601
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图