Android12配置WiFi网络优先以实现与Ethernet共存-开发者社区-阿里云
-
修改wifi的优先级
packages/modules/Connectivity/service/src/com/android/server/connectivity/NetworkRanker.java
@@ -44,7 +44,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.function.Predicate;+import android.util.Log;
/**-
A class that knows how to find the best network matching a request out of a list of networks.
*/
@@ -85,7 +85,7 @@ public class NetworkRanker {
}// Transport preference order, if it comes down to that.
- private static final int[] PREFERRED_TRANSPORTS_ORDER = { TRANSPORTETHERNET, TRANSPORTWIFI,
-
private static final int[] PREFERRED_TRANSPORTS_ORDER = { TRANSPORTWIFI,TRANSPORTETHERNET,
TRANSPORTBLUETOOTH, TRANSPORTCELLULAR };// Function used to partition a list into two working areas depending on whether they
-
-
禁止down eth0的ip地址
--- a/common/moduleutils/src/android/net/ip/InterfaceController.java
+++ b/common/moduleutils/src/android/net/ip/InterfaceController.java
@@ -30,7 +30,7 @@ import android.system.OsConstants;
import java.net.Inet4Address;
import java.net.InetAddress;+import android.util.Log;
/**- Encapsulates the multiple IP configuration operations performed on an interface.
@@ -102,6 +102,11 @@ public class InterfaceController {
private boolean setEnableIPv6(boolean enabled) { try {-
if(mIfName.equals("eth0")&& enabled == false) -
{ -
Log.e("setEnableIPv6","eth0 skip disable +++"); -
return false; -
} mNetd.interfaceSetEnableIPv6(mIfName, enabled); } catch (RemoteException | ServiceSpecificException e) { logError("%s IPv6 failed: %s", (enabled ? "enabling" : "disabling"), e);
@@ -197,6 +202,11 @@ public class InterfaceController {
*/
public boolean clearAllAddresses() {
try {-
if(mIfName.equals("eth0")) -
{ -
Log.e("clearAllAddresses","eth0 skip clear +++"); -
return false; -
} mNetd.interfaceClearAddrs(mIfName); } catch (Exception e) { logError("Failed to clear addresses: %s", e);