成都网站建设设计

将想法与焦点和您一起共享

怎么在Android系统中添加服务-创新互联

怎么在Android系统中添加服务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

五指山网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

如何获取系统服务

我们获取系统服务都是在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 HashMap SYSTEM_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);
 } 

分享标题:怎么在Android系统中添加服务-创新互联
网站链接:http://chengdu.cdxwcx.cn/article/deegjg.html