当前位置:   article > 正文

Android 10 裁剪 wifi 相关服务_wifidisplaycontroller

wifidisplaycontroller

需要修改的文件:

frameworks\base\services\java\com\android\server/SystemServer.java

framework/base/services/core/java/com/android/server/display/WifiDisplayController.java

1.SystemServer.java中去掉WIFI相关服务(以下内容全部注释掉)

  1. if (context.getPackageManager().hasSystemFeature(
  2. PackageManager.FEATURE_WIFI)) {
  3. Wifi Service must be started first for wifi-related services.
  4. traceBeginAndSlog("StartWifi");
  5. mSystemServiceManager.startService(WIFI_SERVICE_CLASS);
  6. traceEnd();
  7. traceBeginAndSlog("StartWifiScanning");
  8. mSystemServiceManager.startService(
  9. "com.android.server.wifi.scanner.WifiScanningService");
  10. traceEnd();
  11. }
  12. if (context.getPackageManager().hasSystemFeature(
  13. PackageManager.FEATURE_WIFI_RTT)) {
  14. traceBeginAndSlog("StartRttService");
  15. mSystemServiceManager.startService(
  16. "com.android.server.wifi.rtt.RttService");
  17. traceEnd();
  18. }
  19. if (context.getPackageManager().hasSystemFeature(
  20. PackageManager.FEATURE_WIFI_AWARE)) {
  21. traceBeginAndSlog("StartWifiAware");
  22. mSystemServiceManager.startService(WIFI_AWARE_SERVICE_CLASS);
  23. traceEnd();
  24. }
  25. if (context.getPackageManager().hasSystemFeature(
  26. PackageManager.FEATURE_WIFI_DIRECT)) {
  27. traceBeginAndSlog("StartWifiP2P");
  28. mSystemServiceManager.startService(WIFI_P2P_SERVICE_CLASS);
  29. traceEnd();
  30. }

2.WifiDisplayController.java

由于第一步裁掉wifi启动后,会造成系统无法正常启动起来,还需要做以下修改 才能正常使用

构造方法中去掉其注释部分就可以了 

  1. public WifiDisplayController(Context context, Handler handler, Listener listener) {
  2. mContext = context;
  3. mHandler = handler;
  4. mListener = listener;
  5. // mWifiP2pManager = (WifiP2pManager)context.getSystemService(Context.WIFI_P2P_SERVICE);
  6. // mWifiP2pChannel = mWifiP2pManager.initialize(context, handler.getLooper(), null);
  7. // IntentFilter intentFilter = new IntentFilter();
  8. // intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
  9. // intentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
  10. // intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
  11. // intentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);
  12. // context.registerReceiver(mWifiP2pReceiver, intentFilter, null, mHandler);
  13. // ContentObserver settingsObserver = new ContentObserver(mHandler) {
  14. // @Override
  15. // public void onChange(boolean selfChange, Uri uri) {
  16. // updateSettings();
  17. // }
  18. // };
  19. // final ContentResolver resolver = mContext.getContentResolver();
  20. // resolver.registerContentObserver(Settings.Global.getUriFor(
  21. // Settings.Global.WIFI_DISPLAY_ON), false, settingsObserver);
  22. // resolver.registerContentObserver(Settings.Global.getUriFor(
  23. // Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON), false, settingsObserver);
  24. // resolver.registerContentObserver(Settings.Global.getUriFor(
  25. // Settings.Global.WIFI_DISPLAY_WPS_CONFIG), false, settingsObserver);
  26. // updateSettings();
  27. }

到这里wifi的相关服务基本被干掉

觉得我写的好的兄弟 帮梦点个赞!!!谢谢 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/227993
推荐阅读
相关标签
  

闽ICP备14008679号