1,frameworks/base/core/res/res/values中的config.xml
<string-array name="config_disabledUntilUsedPreinstalledImes" translatable="false">
<item>com.android.inputmethod.latin</item>
</string-array>修改为:<string-array name="config_disabledUntilUsedPreinstalledImes" translatable="false">
<item>com.xxx.xxx</item>
</string-array>注:com.xxx.xxx为新设置的输入法包名
2,相应的输入法放到aosp源码中
3,Settings中删除拼写检查
packages/apps/Settings/res/xml/language_settings.xml
注释以下代码
<!-- 取消拼写检查
<PreferenceScreen
android:key="spellcheckers_settings"
android:title="@string/spellcheckers_settings_title"
android:persistent="false"
/>
-->InputMethodAndLanguageSettings.java
// Spell Checker
/*
* final Preference spellChecker = findPreference(KEY_SPELL_CHECKERS);
if (spellChecker != null) {
// Note: KEY_SPELL_CHECKERS preference is marked as persistent="false" in XML.
InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(spellChecker);
final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClass(activity, SubSettings.class);
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT,
SpellCheckersSettings.class.getName());
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID,
R.string.spellcheckers_settings_title);
spellChecker.setIntent(intent);
}*/
/*
* final Preference spellChecker = findPreference(KEY_SPELL_CHECKERS);
if (spellChecker != null) {
final TextServicesManager tsm = (TextServicesManager) getSystemService(
Context.TEXT_SERVICES_MANAGER_SERVICE);
if (tsm.isSpellCheckerEnabled()) {
final SpellCheckerInfo sci = tsm.getCurrentSpellChecker();
spellChecker.setSummary(sci.loadLabel(getPackageManager()));
} else {
spellChecker.setSummary(R.string.switch_off_text);
}
}*/
定制Android输入法与设置

本文介绍如何在Android系统中自定义预安装的输入法,并禁用拼写检查功能。主要内容包括修改config.xml文件来指定新的输入法包名,将自定义输入法集成到AOSP源码中,以及在Settings应用中移除拼写检查选项。
3008

被折叠的 条评论
为什么被折叠?



