/packages/apps/Settings/ext/src/com/mediatek/settings/ext/DefaultApnSettingsExt.java
@Override
public String getApnSortOrder(String order) {
return order;
}
这里的order默认排序规则是根据以下位置得来的:
/frameworks/opt/telephony/src/java/android/provider/Telephony.java
public static final class Carriers implements BaseColumns {
/**
* The default sort order for this table.
*/
public static final String DEFAULT_SORT_ORDER = "name ASC";
}
"name ASC"表示正序排列,即按照
apn name的排序,例如在apns-conf.xml中配置如下apn,那么显示时
TATA DOCOMO DIVE-IN一定在TATA DOCOMO INTERNET之前
(TATA DOCOMO DIVE-IN被选为默认接入点:TATA DOCOMO DIVE-IN < TATA DOCOMO INTERNET)
<apn carrier="TATA DOCOMO INTERNET"
mcc="405"
mnc="025"
apn="TATA.DOCOMO.INTERNET"
type="default,supl"
/>
<apn carrier="TATA DOCOMO DIVE-IN"
mcc="405"
mnc="025"
apn="TATA.DOCOMO.DIVE.IN"
proxy="10.124.94.7"
port="8080"
type="default,supl"
/>
如果想按倒序排列显示,修改"name ASC"为"name DESC";
如果想按apns-conf.xml中配置的依次顺序显示,在getApnSortOrder中返回null即可
没有默认值选项,只是Name排序后 谁第一位 谁就是默认
如我中国联通 3g 网络加个空格 默认第一 中国联通 Wap 网络 因为mcc 不在中国 所以不显示
<apn carrier="中国联通 3g 网络 (China Unicom)"
mcc="460"
mnc="01"
apn="3gnet"
type="default,supl"
protocol="IPV4V6"
/>
<apn carrier="中国联通 Wap 网络 (China Unicom)"
mcc="454"
mnc="07"
apn="3gwap"
type="default,supl"
proxy="10.0.0.172"
port="80"
protocol="IPV4V6"
/>
<apn carrier="中国联通 3g 彩信 (China Unicom)"
mcc="460"
mnc="01"
apn="3gwap"
mmsc="http://mmsc.myuni.com.cn"
mmsproxy="10.0.0.172"
mmsport="80"
type="mms,default"
protocol="IPV4V6"
/>