1、以下四个变量代表着安卓平台不同网络的评分,这些评分用于网络选择仲裁,评分越高就会优先选择。
NETWORK_SCORE, WIFI_BASE_SCORE, NETWORK_SCORE, TELEPHONY_NETWORK_SCORE
2、这四个变量分别出自如下安卓SDK文件:
NETWORK_SCORE 有两个网络都用这个定义,一个是以太网,另一个是蓝牙
a. 以太网如下:
./frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.java:97 private static final int NETWORK_SCORE = 70
b. 蓝牙的如下:
./packages/apps/Bluetooth/src/com/android/bluetooth/pan/BluetoothTetheringNetworkFactory.java:52 private static final int NETWORK_SCORE = 69;
c. Wifi的如下:
./frameworks/base/core/java/android/net/NetworkAgent.java:94 public static final int WIFI_BASE_SCORE = 60;
d. 移动网络的如下:
./frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java:61 private final static int TELEPHONY_NETWORK_SCORE = 50;
3、从上面四种网络的评分,我们就知道了,安卓平台网络选择顺序:以太网,蓝牙PAN, WiFi, 最后移动网络。