apn&spn的修改

不同android版本,文件位置不同,修改位置也不尽相同。

整个列表: frameworks/base/core/res/res/xml/apns.xml
当前使用: development/data/etc/apns-conf.xml

android8:

vendor\qcom\proprietary\telephony-apps\etc\apns-conf.xml
vendor\qcom\proprietary\telephony-apps\etc\spn-conf.xml
 

spn 运营商名称:

高通修改的地方: vendor\qcom\proprietary\qcril\qcril_qmi\qcril_qmi_nas2.c:
    qcril_qmi_ons_memory_list

当前使用的时候上面这个数组优先。

MCC/MNC参考 http://es.wikipedia.org/wiki/MCC/MNC

MSimTelephonyManager.getDefault().getSimOperatorName(index);
    public String getSimOperatorName(int subscription) {  
           String alpha = getTelephonyProperty(  
                   subscription == 0 ? TelephonyProperties.PROPERTY_ICC_OPERATOR_ALPHA  
                           : TelephonyProperties.PROPERTY_ICC2_OPERATOR_ALPHA, "");  
           if ("".equals(alpha)) {  
               String numeric = getSimOperator(subscription);  
               if (numeric != null && numeric.length() > 3)  
                   alpha = (String) SpnProvider.getSPNByMCCMNC(sContext, numeric);  
           } else {  
               LocaleNamesParser localeNamesParser = new LocaleNamesParser(sContext,"MSimTelephonyManager",  
                              com.android.internal.R.array.origin_carrier_names,  
                              com.android.internal.R.array.locale_carrier_names);  
               alpha = localeNamesParser.getLocaleName(alpha).toString();  
           }  
           return alpha;

frameworks\base\core\java\android\provider\SpnProvider.java:
    alpha = (String) SpnProvider.getSPNByMCCMNC(sContext, numeric);

frameworks\base\core\res\res\values\arrays.xml: origin_carrier_names

 

一些虚拟运营商要求显示名字跟卡里读出来不一致的话,可修改如下:

frameworks\base\telephony\java\android\telephony\SubscriptionInfo.java
    public CharSequence getDisplayName() {
        android.util.Log.d("Sukha:this=", this.toString());
        if (android.text.TextUtils.isEmpty(mDisplayName)) {
            return this.mDisplayName;
        } else if (mDisplayName.equals("TM")) return "GLOBE(TM)";
        else if (mDisplayName.equals("ABS-CBN")) return "GLOBE(ABS-CBN)";
        else if (mDisplayName.equals("Talk N Text")) return "Smart Prepaid (TNT)";
        else return this.mDisplayName;
    }

    public CharSequence getCarrierName() {
        if (android.text.TextUtils.isEmpty(mCarrierName)) {
            return this.mCarrierName;
        }
        String carrier = mCarrierName.toString();
        if (android.text.TextUtils.isEmpty(mDisplayName)) {
            return this.mCarrierName;
        } else if (mDisplayName.equals("TM")) {
            if (carrier.endsWith("TM")) {
                return (carrier.substring(0,carrier.length()-2) + "GLOBE(TM)");
            } else {
                return (carrier + " - GLOBE(TM)");
            }
        } else if (mDisplayName.equals("ABS-CBN")) {
            if (carrier.endsWith("ABS-CBN")) {
                return (carrier.substring(0,carrier.length()-7) + "GLOBE(ABS-CBN)");
            } else {
                return (carrier + " - GLOBE(ABS-CBN)");
            }
        } else if (mDisplayName.equals("Talk N Text")) {
            if (carrier.endsWith("Talk N Text")) {
                return (carrier.substring(0,carrier.length()-11) + "Smart Prepaid (TNT)");
            } else {
                return (carrier + " - Smart Prepaid (TNT)");
            }
        } else return this.mCarrierName;
    }


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值