首页 > 系统 > Android > 正文

Android4.1中BinderService用法实例分析

2020-04-11 11:20:45
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表