高通平台Android 11 WiFi开启流程梳理

Android11代码架构发生了重大变化,Wifi到AndoidO之后不再使用jni,所以Android 11也一样不再使用jni来实现Java代码与本地的C/C++代码交互,而是使用HIDL.目前Android 11 蓝牙还是通过jni的方式继续调用,感兴趣的朋友可以看看我写的其他博客.

一、Settings 里面从WifiEnabler开始,调用WiFiManager的setWifiEnabled.

packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java

181      @Override
182      public boolean onSwitchToggled(boolean isChecked) {
183          //Do nothing if called as a result of a state machine event
184          if (mStateMachineEvent) {
185              return true;
186          }
187          // Show toast message if Wi-Fi is not allowed in airplane mode
188          if (isChecked && !WirelessUtils.isRadioAllowed(mContext, Settings.Global.RADIO_WIFI)) {
189              Toast.makeText(mContext, R.string.wifi_in_airplane_mode, Toast.LENGTH_SHORT).show();
190              // Reset switch to off. No infinite check/listener loop.
191              mSwitchWidget.setChe

你可能感兴趣的:(WIFI,android,java,apache)