欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android4.1中BinderService用法实例分析

程序员文章站 2023-12-10 20:25:04
本文实例讲述了android4.1中binderservice用法。分享给大家供大家参考,具体如下: 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程序设计有所帮助。