WIFI启动流程

系统加载system后会在第一时间加载SystemServer,WiFi的服务就在这时被加载启动的

    private static final String WIFI_SERVICE_CLASS =
            "com.android.server.wifi.WifiService";
    private static final String WIFI_P2P_SERVICE_CLASS =
            "com.android.server.wifi.p2p.WifiP2pService";

   mSystemServiceManager.startService(WIFI_P2P_SERVICE_CLASS);
   mSystemServiceManager.startService(WIFI_SERVICE_CLASS);
   mSystemServiceManager.startService("com.android.server.wifi.WifiScanningService");
   mSystemServiceManager.startService("com.android.server.wifi.RttService");

    下面我们来分析下WiFiService

public final class WifiService extends SystemService {

    private static final String TAG = "WifiService";
    final WifiServiceImpl mImpl;

    public WifiService(Context context) {
        super(context);
        mImpl = new WifiServiceImpl(context);
    }

    @Override
    public void onStart() {
        Log.i(TAG, "Registering " + Context.WIFI_SERVICE);
        publishBinderService(Context.WIFI_SERVICE, mImpl);
    }

    @Override
    public void onBootPhase(int phase) {
        if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
            mImpl.checkAndStartWifi();
        }
    }
}
    从上面可以看出,WifiService只做了两件事:一、初始化并绑定WifiServiceImpl 二、改变WiFi状态 ,所有对WiFi的操作都是在WiFiServiceImpl中实现的。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值