Android 怎样默认打开便携式WIFI热点 M
推荐回答
目前判断Wifi开机后是否需要的自动开启实现是在wifiService.java的checkAndStartWifi() 函数里,类似的,可以参照wifi在wifiService.java里添加一下如下函数:public void checkAndStartSoftAp() {mWifiStateMachine.autoConnectInit();boolean isAirplaneModeOn = isAirplaneModeOn();int persistedWifiState = getPersistedWifiState();SXlog.d(TAG, isAirplaneModeOn: + isAirplaneModeOn + , getPersistedWifiState: + persistedWifiState);mAirplaneModeOn.set(isAirplaneModeOn);mPersistWifiState.set(persistedWifiState);if (mWifiStateMachine.hasCustomizedAutoConnect() && mAirplaneModeOn.get()) { //AirplaneMode下不打开SoftAp,客户也可以看情况不限制SXlog.i(TAG, Don't enable softAp when airplane mode is on for customization.);} else {Slog.i(TAG, WifiService starting up with softAp);setWifiApEnabled(null, true);} } 然后,在systemServer.java里搜索wifi.checkAndStartWifi(), 可以找见它在ServerThread的run里,将wifi.checkAndStartWifi()替换成wifi.checkAndStartSoftAp(),然后,编译测试。