Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 如何修改Sim卡語言自適應 M

Android 如何修改Sim卡語言自適應 M

編輯:關於Android編程

 

 

 

一、 系統設定默認語言規則

  1. 系統預置語言,即在 makefile 文件中定義的語言;

    – 位置:mediatek/config/${Project}/ProjectConfig.mk,默認第一個是系統默認語言

     

    1. 刷機過後,開機重啟,如果未插卡,系統語言為預置的語言;插入SIM卡過後,系統語言根據 SIM 卡來改變, 默認會把刷機過後第一次插的 SIM 卡的語言設置為默認語言;(如果sim的mcc可以在內置的mcc表中找到)如果用戶沒有手動在 Settings 裡面設置語言,以後系統語言一直是默認語言(第一次插的 SIM 卡的語言),即使是插入其它國家的卡,系統語言也不會變;如果用戶在 Settings 裡面手動設置了語言,以後系統語言會為設置後的語言,無論插入什麼卡,系統語言不會變,一直為用戶手動設置後的語言。

      二、 修改默認語言

      1、 取消sim卡語言自適應

      public static void updateMccMncConfiguration(Context context, String mccmnc)

      MccTable.java(frameworksase elephonyjavacomandroidinternal elephony)

      if (mcc != 0) {

      setTimezoneFromMccIfNeeded(context, mcc);

      setLocaleFromMccIfNeeded(context, mcc);

      setWifiCountryCodeFromMcc(context, mcc);

      }

      每次插卡開機,當sim准備好之後,系統會走updateMccMncConfiguration這個函數,其調用這個setLocaleFromMccIfNeeded函數去根據mcc更新系統語言,可以設置是否調用這個函數來決定是否根據sim切換語言。

      2、 要求每次均可以根據sim卡切換語言

      public static void setSystemLocale(Context context, String language, String country)

      ……

      config.userSetLocale = false;

      config.simSetLocale = true;

      ……

      am.updateConfiguration(config);

      第一次開機插入sim卡,如果根據mcc找到相應語言,系統會把當前sim卡語言信息保存起來,以後系統無論插入任何語言的sim卡,系統語言均不會在根據sim在進行切換,其中系統是根據simSetLocale這個參數來決定是否要保存這個信息的,如果在上面把其設為false,則可以實現每次插卡均可自適應(除手動設置語言外)。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved