【正文】
v e r L i n u x K e r n e l re f e r e n c e A n d r o i d S e r v i c e S e n s o rS e r v i c e IBi n d e r A n d r o i d Ru n t i m e S e r v i c e M a n a g e r . j a v a S e r v i c e M a n a g e r . c p p 圖 Service Manager 的 Adapter 類別 於是, C++ Client模組就能使用較親切的 IServiceManager 接口來(lái)呼叫ServiceManager 的功能了。 ? 使用 ServiceManager的 IServiceManager接口 由於 IBinder 接口裡只有 一個(gè) transact()函數(shù),無(wú)法呈現(xiàn) ServiceManager 核心服務(wù)的各項(xiàng)功能或函數(shù)。如下圖所示: N a t i v e S e r v i c e M a n a g e r IBi n d e r Bi n d e r D ri v e r L i n u x K e r n e l re f e r e n c e A n d r o i d S e r v i c e S e n s o rS e r v i c e IBi n d e r A n d r o i d Ru n t i m e H A L 圖 啟動(dòng)了許多核心服務(wù) 在 開(kāi)機(jī)過(guò)程中,會(huì)啟動(dòng)許多項(xiàng)核心服務(wù), ServiceManager 和 SensorService 只是其中的兩個(gè)而已。HAL觀點(diǎn): ServiceManager和 IBinder扮演什麼角色呢 ? By 高煥堂 ? ServiceManager的角色:它 也是一項(xiàng) Core Service ServiceManager 本身也是一個(gè) Native Service,而且是天字第一號(hào)的核心服務(wù)(Core Service)。 ? IBinder的角色 啟動(dòng)完成後,就能讓 C++層或 Java層的 Client模組來(lái)綁定 (Bind)、連結(jié) (Connect)和呼叫 (Invoke)這些核心服務(wù)了。徒增加 C++ Clie