Android5.1更改网络优先级
来源:互联网 发布:seo网络推广职业规划 编辑:程序博客网 时间:2024/06/08 03:43
5.1以前请参考:
http://blog.csdn.net/u013686019/article/details/51447129
平台
RK3288 + android5.1
需求
修改网络连接优先级为
Ethernet > Mobile > Wifi
修改
diff --git a/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataConnection.java b/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataConnection.javaold mode 100644new mode 100755index 09b3c9b..00fba2a--- a/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataConnection.java+++ b/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataConnection.java@@ -1734,7 +1734,7 @@ public final class DataConnection extends StateMachine { misc.subscriberId = mPhone.getSubscriberId(); mNetworkAgent = new DcNetworkAgent(getHandler().getLooper(), mPhone.getContext(), "DcNetworkAgent", mNetworkInfo, makeNetworkCapabilities(), mLinkProperties,- 50, misc);+ 100, misc); } @Overridediff --git a/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DctController.java b/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DctController.javaold mode 100644new mode 100755index 4fce2ec..fdb59b1--- a/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DctController.java+++ b/frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DctController.java@@ -152,7 +152,7 @@ public class DctController extends Handler { mNetworkFactory[index] = new TelephonyNetworkFactory(this.getLooper(), mPhones[index].getContext(), "TelephonyNetworkFactory", phoneBase, mNetworkFilter[index]);- mNetworkFactory[index].setScoreFilter(50);+ mNetworkFactory[index].setScoreFilter(100); mNetworkFactoryMessenger[index] = new Messenger(mNetworkFactory[index]); cm.registerNetworkFactory(mNetworkFactoryMessenger[index], "Telephony"); }
说明
网络优先级采用新的score机制.
以上改法, 将移动网络的score从50 加到 100.
从当前代码中看, Ethernet (150), Wifi(60)
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java(Wifi)
mNetworkAgent = new WifiNetworkAgent(getHandler().getLooper(), mContext, "WifiNetworkAgent", mNetworkInfo, mNetworkCapabilitiesFilter, mLinkProperties, 60);
mNetworkFactory = new WifiNetworkFactory(getHandler().getLooper(), mContext, NETWORKTYPE, mNetworkCapabilitiesFilter); mNetworkFactory.setScoreFilter(60);
frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.java(Ethernet)
private static final int NETWORK_SCORE = 150; // Create our NetworkAgent. mNetworkAgent = new NetworkAgent(mFactory.getLooper(), mContext, NETWORK_TYPE, mNetworkInfo, mNetworkCapabilities, mLinkProperties, NETWORK_SCORE) {
// Create and register our NetworkFactory.
mFactory = new LocalNetworkFactory(NETWORK_TYPE, context, target.getLooper());/**
* Updates interface state variables. * Called on link state changes or on startup. */ private void updateInterfaceState(String iface, boolean up) { if (!mIface.equals(iface)) { return; } Log.d(TAG, "updateInterface: " + iface + " link " + (up ? "up" : "down")); synchronized(this) { mLinkUp = up; mNetworkInfo.setIsAvailable(up); if (!up) { // Tell the agent we're disconnected. It will call disconnect(). mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, mHwAddr); sendEthernetStateChangedBroadcast(EthernetManager.ETHER_STATE_DISCONNECTED); } updateAgent(); // set our score lower than any network could go // so we get dropped. TODO - just unregister the factory // when link goes down. mFactory.setScoreFilter(up ? NETWORK_SCORE : -1); } }
阅读全文
0 0
- Android5.1更改网络优先级
- Android网络优先级及更改
- Android网络优先级及更改
- 优先级更改
- Android5.1 + Android Studio ADB网络调试
- Android5.1网络切换策略分析
- 命令行更改进程优先级
- Android5.0网络子系统
- Android5.0网络之netd
- Android5.0网络之ipv6
- android5.1 Settings简介
- Android5.1--多用户模式
- Android5.1--SystemServer进程
- android5.1之MediaScanner
- Android5.1 -Recents分析
- Android5.1 SPI驱动
- android5.1 编译命令
- Android5.1 VectorDrawable
- 求区间均值大于K区间数---树状数组
- 《统计学习方法》2——决策树
- python学习十二(自己制作模块并安装到系统、静态方法)
- 表示学习2-Deep Walk
- post 405 method not allowed
- Android5.1更改网络优先级
- 线程转储分析
- 工作日常记录 2017-09-20
- Hadoop和Spark的4大差异
- UI设计师这4步从低薪转高薪
- Java虚拟机自动内存管理
- Scala 映射和元组
- 23种设计模式(9):访问者模式
- Java多线程基础篇