Android4.1中BinderService用法 Android4.1中BinderService用法实例分析

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Android4.1中BinderService用法 Android4.1中BinderService用法实例分析

lsdmx2016   2021-03-20 我要评论
想了解Android4.1中BinderService用法实例分析的相关内容吗,lsdmx2016在本文为您仔细讲解Android4.1中BinderService用法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android4.1,BinderService用法,下面大家一起来学习吧。

本文实例讲述了Android4.1中BinderService用法。分享给大家供大家参考,具体如下:

Android4.1 中出现了一个新的类,BinderService,所有的Native Service 都会继承这个类。

class BinderService
{
public:
  static status_t publish(bool allowIsolated = false) {
    sp<IServiceManager> sm(defaultServiceManager());
    return sm->addService(String16(SERVICE::getServiceName()), new SERVICE(), allowIsolated);
  }
  static void publishAndJoinThreadPool(bool allowIsolated = false) {
    sp<IServiceManager> sm(defaultServiceManager());
    sm->addService(String16(SERVICE::getServiceName()), new SERVICE(), allowIsolated);
    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();
  }
  static void instantiate() { publish(); }
  static status_t shutdown() {
    return NO_ERROR;
  }
};

从代码中可以得知,这个类的publish(),就是将Native Service 注册到ServiceManager,同时 BinderService 作为 NativeService 的友元类。这是因为BinderService 需要访问 Native Service 的getServiceName方法。

希望本文所述对大家Android程序设计有所帮助。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们