Android 系统(153)--- M上默认接入点apn显示

 M上默认接入点apn显示

 
 Android M上apn设置中界面显示及默认接入点配置
 
apn设置中的显示界面的apn是来源于apns-conf.xml中配置的对应运营商(根据mccmnc查询)
的所有apn。
 
在M上是根据以下顺序显示的

/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中配置的顺序依次显示,修改

public static final String DEFAULT_SORT_ORDER = "_id ASC";

即可,类似的,也可以修改DEFAULT_SORT_ORDER 的定义为"apn ASC" 实现按照apn 排序。

猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/80939898