Android定製出廠預設輸入法(其他設定類似)
阿新 • • 發佈:2019-02-12
方法一:
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
設定預設輸入法為google拼音
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
loadSecureSettings()中增加一條語句,制定預設使能的輸入法
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
R.string.config_default_input_method );
方法二:
frameworks\base\core\res\res\values\config.xml
frameworks\base\services\java\com\android\server \InputMethodManagerService.java
在 frameworks\base\core\res\res\values\config.xml 新增一個屬性:
<string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</string>
frameworks\base\services\java\com\android\server\InputMethodManagerService.java的方法buildInputMethodListLocked()裡新增:
String defaultIme = Settings.Secure.getString(mContext
.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
if ( defaultIme == null )
{
final Resources res = mContext.getResources();
try
{
//frameworks\base\core\res\res\values\config.xml
String myIME = res.getString( com.android.internal.R.string.config_default_input_method );
if ( myIME != null && myIME.length() > 0 )
{
Settings.Secure.putString( mContext.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD,
myIME );
}
}
catch ( Exception e )
{
}
}
方法三:
frameworks/base/package/settingsproviders/res/values/defaults.xml
在檔案frameworks/base/package/settingsproviders/src/com/android/providers/settings/DatabaseHelper.java
一些系統定製資訊是通過
frameworks/base/package/settingsproviders/res/values/defaults.xml來預設的,在系統首次啟動時載入此檔案,並應用檔案中的設定。檔案如下:
<string name="def_enabled_input_methods">com.sohu.inputmethod.sogou/.SogouIME:com.android.inputmethod.pinyin/.PinyinIME</string>
在檔案frameworks/base/package/settingsproviders/src/com/android/providers/settings/DatabaseHelper.java的函式
loadSecureSettings()中增加一條語句,制定預設使能的輸入法
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
設定預設輸入法為google拼音
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<string name="config_default_input_method" translatable="false">com. Android.inputmethod.pinyin/.PinyinIME</string>
在frameworks\base\core\res\res\values\config.xml 加了
<string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</string> 之後,
還要在frameworks\base\core\res\res\values\symbols.xml中加上
<Java-symbol type="string" name="config_default_input_method"
/>
這樣就可以找到com.android.internal.R.string.config_default_input_method了。
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
loadSecureSettings()中增加一條語句,制定預設使能的輸入法
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
R.string.config_default_input_method );
方法二:
frameworks\base\core\res\res\values\config.xml
frameworks\base\services\java\com\android\server \InputMethodManagerService.java
在 frameworks\base\core\res\res\values\config.xml 新增一個屬性:
<string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</string>
frameworks\base\services\java\com\android\server\InputMethodManagerService.java的方法buildInputMethodListLocked()裡新增:
String defaultIme = Settings.Secure.getString(mContext
.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
if ( defaultIme == null )
{
final Resources res = mContext.getResources();
try
{
//frameworks\base\core\res\res\values\config.xml
String myIME = res.getString( com.android.internal.R.string.config_default_input_method );
if ( myIME != null && myIME.length() > 0 )
{
Settings.Secure.putString( mContext.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD,
myIME );
}
}
catch ( Exception e )
{
}
}
方法三:
frameworks/base/package/settingsproviders/res/values/defaults.xml
在檔案frameworks/base/package/settingsproviders/src/com/android/providers/settings/DatabaseHelper.java
一些系統定製資訊是通過
frameworks/base/package/settingsproviders/res/values/defaults.xml來預設的,在系統首次啟動時載入此檔案,並應用檔案中的設定。檔案如下:
<string name="def_enabled_input_methods">com.sohu.inputmethod.sogou/.SogouIME:com.android.inputmethod.pinyin/.PinyinIME</string>
在檔案frameworks/base/package/settingsproviders/src/com/android/providers/settings/DatabaseHelper.java的函式
loadSecureSettings()中增加一條語句,制定預設使能的輸入法
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
R.string.def_enabled_input_methods);
設定USB調試出廠時預設開啟的方法(4.0以後的版本):
在UsbDeviceManager.java中
String value = SystemProperties.get("persist.service.adb.enable", "");
邏輯判斷後加上:
setAdbEnabled(true);