本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選