2.4 NetworkManagementService介绍

根据前文所述,NetworkManagementService(以后简称NMService)将通过"netd"socket和Netd交互。NMService代码非常简单,首先来看其创建的代码,如下所示。

[—>SystemServer.java::ServerThread:run]

  1. public void run() {
  2. ......// 其他Service的创建及相关处理
  3. try {
  4. networkManagement = NetworkManagementService.create(context);
  5. ServiceManager.addService(Context.NETWORKMANAGEMENT_SERVICE, networkManagement);
  6. } catch ......
  7. ......
  8. final NetworkManagementService networkManagementF = networkManagement;
  9. if (networkManagementF != null) networkManagementF.systemReady();
  10. ......
  11. }

ServerThread是Android Java Framework的中枢,绝大部分重要Service都在该线程中创建,例如ActivityManagerServie、WindowManagerService、PackageManagerService以及本书要介绍的WifiService、WifiP2pService等。

ServerThread中和NMService相关的重要知识点仅create和systemReady两个函数。下面将一一介绍。

提示 关于ServerThread的详细信息,请读者阅读《深入理解Android:卷Ⅱ》。