在 setupInterfaceForClientInConnectivityMode 中执行 startSupplicant 启动 Supplicant 服务,获取到服务端的信息
调用了 startAndWaitForSupplicantConnection 接口,其中进而调用了 SupplicantStaIfaceHal::initialize 接口,这里面包含了两层初始化以及初始化状态判断的过程:
- IServiceManager 的初始化,用于管理整个 HIDL 层面的 Service 的服务端口;
- ISupplicant 的初始化,用于 Supplicant 服务的初始化;
其中 initialize 中获取到 mIServiceManager 之后通过其 registerForNotifications 接口注册 ISupplicant 服务的通知,以便在 ISupplicant 服务启动之后进行服务的获取,获取发生在 mServiceNotificationCallback 中:
private final IServiceNotification mServiceNotificationCallback =
new IServiceNotification.Stub() {
public void onRegistration(String fqName, String name, boolean preexisting) {
synchronized (mLock) {
if (mVerboseLoggingEnabled) {
Log.i(TAG, "IServiceNotification.onRegistration for: " + fqName