android網絡切換問題

一找到首選項的選擇XML文件

private ListPreference mButtonPreferredNetworkMode;

mButtonPreferredNetworkMode =(ListPreference) prefSet.findPreference(

                BUTTON_PREFERED_NETWORK_MODE);

佈局文件Msim_network_sub_setting.xml:

<ListPreference

       android:key="preferred_network_mode_key"

       android:title="@string/preferred_network_mode_title"

       android:summary="@string/preferred_network_mode_summary"  

       android:entries="@array/preferred_network_mode_choices"

        android:entryValues="@array/preferred_network_mode_values"

       android:dialogTitle="@string/preferred_network_mode_dialogtitle"/>

 

上述方式的設置列表值是通過直接在佈局文件裏面設置所有的默認選項,然後可以在程序中進行重新複製

 

Strings.xml packages\services\telephony\res\values

 

<string-array name="preferred_network_mode_values"  translatable="false">

       <item>"23"</item>

       ……………………………

       <item>"2"</item>

       <item>"1"</item>

       <item>"0"</item>

</string-array>

<string-arrayname="preferred_network_mode_choices"translatable="false">     

       <item>@string/preferred_network_mode_lte_cdma_evdo_gsm_choice</item>

        …………………………………………………

       <item>@string/preferred_network_mode_wcdma_only_choice</item>

        <item>@string/preferred_network_mode_gsm_only_choice</item>

       <item>@string/preferred_network_mode_gsm_wcdma_preferred_choice</item>

    </string-array>

二判斷哪種運營商

1 MSimMobileNetworkSubSettings.java

\\packages\services\telephony\src\com\android\phone\msim

  /**begin add by liting in 20151212**/

private void changeNeworkTypeList(Stringnumber){

if("46003".equals(number)||"46005".equals(number)||"46011".equals(number)){

         mButtonPreferredNetworkMode.setEntries(R.array.preferred_china_telecom_choices);             mButtonPreferredNetworkMode.setEntryValues(R.array.preferred_china_telecom_values);

 }elseif("46000".equals(number)||"46002".equals(number)||"46007".equals(number)){

          mButtonPreferredNetworkMode.setEntries(R.array.preferred_china_mobile_choices);

     mButtonPreferredNetworkMode.setEntryValues(R.array.preferred_china_mobile_values);               

 }elseif("46001".equals(number)||"46006".equals(number)||"46009".equals(number)){            mButtonPreferredNetworkMode.setEntries(R.array.preferred_china_union_choices);              mButtonPreferredNetworkMode.setEntryValues(R.array.preferred_china_union_values);                           

}else{

    mButtonPreferredNetworkMode

           .setEntries(R.array.preferred_network_mode_choices);

    mButtonPreferredNetworkMode.setEntryValues(

            R.array.preferred_network_mode_values);

       }

    }

/**end by liting in 20151212**/

通過setEntries和setEntryValues方法設置另外的值。

 

2 找到plmn

TelephonyManager.getDefault().getIccOperatorNumeric(SubscriptionManager.getSubId(0)[0]);

TelephonyManager mTelephonyManager =(TelephonyManager)

getSystemService(Service.TELEPHONY_SERVICE);

         Stringimsi =

mTelephonyManager.getSubscriberId(SubscriptionManager.getSubId(mPhone.getPhoneId())[0]);

String ICCID =

mTelephonyManager.getSimSerialNumber(SubscriptionManager.getSubId(mPhone.getPhoneId())[0]);

發佈了53 篇原創文章 · 獲贊 9 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章