android N0版本默認輸入法語言

7.0系統自帶的輸入法中語言默認爲系統語言,客戶要求將輸入法語言改爲其他

在ProjectConfig.mk中:
DEFAULT_LATIN_IME_LANGUAGES = en-US fr ru //在7.0上這樣修改無效

(1)首先frameworks\base\packages\SettingsProvider\res\values\defaults.xml 增加下面語句
<string name="def_input_methods">com.android.inputmethod.latin/.LatinIME;529847764;-921088104</string>

意思是增加英文和泰文輸入法,android/packages/inputmethods/LatinIME/java/res/xml/method.xml中有定義的
-921088104;529847764分別代表en_US和th
ps:可以在settings中設置輸入法語言後,然後在/data/system/users/0/settings_secure.xml查看

(2)然後在frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
增加如下代碼
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.def_input_methods);

7.0的SettingProvider數據庫不在data/data/com.android.providers.settings中
而是在這三個文件中
/data/system/users/0/settings_secure.xml
/data/system/users/0/settings_system.xml
/data/system/users/0/settings_global.xml
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章