实战-Android 系统设置无线/有线优先连接

本文探讨了Android系统在网络连接选择上的策略,当有线以太网和Wi-Fi同时可用时,如何通过修改`NetworkAgentInfo`类的`getCurrentScore`函数来实现有线连接优先或无线连接优先。通过对代码的调整,可以设置系统默认的网络连接偏好,为用户提供更高效稳定的网络体验。
摘要由CSDN通过智能技术生成

需求
系统起来之后,如果有线(ETH)插入和WIFI 打开的情况下,优先使用哪种连接方式。

实现
NetworkAgentInfo 中getCurrentScore 函数直接返回最大的Score 即可。

有线优先

frameworks/base/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
private int getCurrentScore(boolean pretendValidated) {
+	//Begin add for ETH higher priority
+    if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) {
+         return ConnectivityConstants.EXPLICITLY_SELECTED_NETWORK_SCORE;
+     }
+    //End add for ETH higher priority
}

无线优先

frameworks/base/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
private int getCurrentScore(boolean pretendValidated) {
+	//Begin add for ETH higher priority
+	if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
+            return MAXIMUM_NETWORK_SCORE;
+   }
+    //End add for ETH higher priority
}

参考:
Framework中的连接管理机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值