MTK平台如何修改默认输入法
如何修改默认输入法?
一、源码适用于ICS(AndroidV4.0)之前的源码版本:
1.安装需要用的默认输入法(.apk)到system/app
2.修改文件frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<string name="default_input_method" translatable="false">默认输入法 ID
</string>
红色标记表示输入法 ID, 比如 PinyinIME 为: com.android.inputmethod.pinyin/.PinyinIME
二、源码适用于ICS、源码JB、源码JB2、源码android系统应用源码KK的源码版本:
1.需要提前将用到的默认输入法(.apk)内置到系统中( 请参考如何将APK预置进系统)
2.修改文件mediatek/config/${ Project}/ProjectConfig.mk
将宏DEFAULT_INPUT_METHOD的值设置为所需的输入法;
比如PinyinIME, 则设为:
DEFAULT_INPUT_METHOD=com.android.inputmethod.pinyin.PinyinIME
这个值是源码输入法源码中,包含InputMethodService子类的源码那个包名.实现InputMethodService的子类的类名。这里比log中打印的源码完整类名少一个"/",请注意
补充说明:
KK的版本不需要一下修改:
上面的修改方法只适用于默认输入法为com.android.inputmethod.pinyin/.PinyinIME这种格式的输入
法(即反斜杠后面就是类名的情况),对于com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME (即反斜杠后面是源码完整类名的情况),这种情况是源码不支持修改mediatek/config/${ Project}/ProjectConfig.mk里面DEFAULT_INPUT_METHOD的方法来设置默认输入法的。
以com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME 为例
请改用下面的源码代理ip扫描源码方法修改,在SettingsProvider 的源码DatabaseHelper.java中
有
Log.i(TAG, "defaultIME : " + defaultIME);
if (defaultIME != null) {
StringBuffer strBuffer = new StringBuffer(defaultIME);
int lastDotPos = defaultIME.lastIndexOf(".");
String strInsert = "/";
strBuffer.insert(lastDotPos, strInsert);
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
strBuffer.toString());
} else {
Log.i(TAG, "default IME from IMEFeatureOption is null!!");
}
请将默认的初始化部分code删除, 即将 下面的源码code都删除掉。
Log.i(TAG, "defaultIME : " + defaultIME);
if (defaultIME != null) {
StringBuffer strBuffer = new StringBuffer(defaultIME);
int lastDotPos = defaultIME.lastIndexOf(".");
String strInsert = "/";
strBuffer.insert(lastDotPos, strInsert);
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
strBuffer.toString());
} else {
Log.i(TAG, "default IME from IMEFeatureOption is null!!");
}
然后在删除的后面添加
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
"com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME");//这里修改默认选中的输入法
三、适用于L, M的版本
请在APK正确预置的前提下,再修改如下:
在InputMethodManagerService的webapp项目实战源码systemRunning()函数, if (!mImeSelectedOnBoot) 的分支中修改如下
if (!mImeSelectedOnBoot) {
Slog.w(TAG, "Reset the default IME as \"Resource\" is ready here.");
// String preInstalledImeName = SystemProperties.get("ro.mtk_default_ime");
String preInstalledImeName = "第三方输入法的完整包名ID";
或者直接修改build.prog中的ro.mtk_default_ime属性值,也可在system.prog中增加此属性值。只要修改完后, adb shell getprop ro.mtk_default_ime能获取到正确的预置输入法ID即可。
MTK平台如何修改默认输入法如果按照如上的步骤没有修改成功,请参考如下步骤进行检查修改:
(1)检查是游戏图片源码否成功预置输入法:FAQ
(2)检查下setting-- language&input 界面,该输入法前面的勾是否选上,没有选上说明此输入法没有被enable,请参考FAQ来enable;
(3)检查是否发生语言切换,如果有切换则会恢复默认输入法,若不想因语言变化导致恢复,请参考FAQ,libusb源码包下载FAQ
(4)修改默认输入法FAQ
这个解决方法是在闯客技术论坛转的,如果解决不了你可以去提问。
com.android.backupconfirm
com.android.backupconfirm应该是Android系统第三方的应用程序,可以卸载。卸载方式:
打开主菜单选择设置
在设置中选择应用
选择你需要停止的应用,例如backupconfirm
点击强行停止,同时可能会弹出一个警告,点确定即可
确定完成 就可以彻底停止这个应用运行了
点击卸载即可卸载这个应用
关于Android系统自带的应用,不同版本的Android系统和不同品牌手机的定制,会有差异导致系统自带程序有差异,但大体上有以下程序:
*AccountAndSyncSettings.apk 同步与账户设定(绝不能删除)
*ApplicationsProvider.apk 应用程序支持服务 (绝不能删除)
Bluetooth.apk 蓝牙(删除后蓝牙功能消失)
Browser.apk 系统自带浏览器(可用其他手机浏览器替代)
Calculator.apk 计算器(可删,可用其他替代)
Calendar.apk 日历(可删)
CalendarProvider.apk 日历程序支持服务(可删)
*Camera.apk 自带相机 (绝不能删除)
*CertInstaller.apk 证书服务 (绝不能删除)
Contacts.apk 通讯簿/联系人(用第三方通讯簿的可删)
*ContactsProvider.apk 通讯簿/联系人数据存储服务 (绝不能删除)
*DefaultContainerService.apk 默认通讯簿服务(绝不能删除)
DeskClock.apk 自带闹钟(用第三方闹钟的可删)
*DownloadProvider.apk下载管理器(绝不能删除)
*DrmProvider.apk DRM受保护数据存储服务(绝不能删除)
DSPManager.apk DSP音频管理(可删)
Email.apk Email(不用自带Email接受邮件的可删)
FileManager.apk 简易文件管理器(可删,可用ES文件管理器替代)
Gallery3D.apk 3D浏览器 (可删)
GenieWidget.apk 天气与新闻(可删)
Gmail.apk Gmail(可删)
GoogleBackupTransport.apk ***(未知程序,可删)
GoogleCalendarSyncAdapter.apk 存储日历讯息(可删)
GoogleContactsSyncAdapter.apk 存储联系人讯息(可删)
GoogleFeedback.apk ***(据说删除后开机会提示GoogleFeedback.apk,根据自身情况决定是否删除)
GooglePartnerSetup.apkGoogle助手(可删)
GooglePinyinIME.apkGoogle拼音(可删,用其他输入法替代)
GoogleQuickSearchBox.apk Google搜索(可删)
GoogleServicesFramework.apk 同步支持服务(删除后无法同步联系人,且不能登录Google)
HTMLViewer.apk HTML浏览器(可删)
kickback.apk 辅助功能
LauncherPro.apk 原生桌面(可删)
LiveWall**sPicker.apk动态壁纸(可删)
Maps.apk Google地图(可删)
MarketUpdater.apk 市场升级(不确定)
*MediaProvider.apk 媒体数据存储服务(绝不能删除)
MediaUploader.apk媒体升级(可删)
Mms.apk 自带讯息(可删)
Music.apk 自带音乐(可删,用自己喜欢的播放器吧)
NetworkLocation.apk 网络位置(可删)
OneTimeInitializer.apk ***(未知,可删)
*PackageInstaller.apk 程序安装(绝不能删除)
*Phone.apk 电话拨号程序(绝不能删除)
PhoneGuard.apk 拨号卫士(可删)
PicoTts.apk 可删(文字语言转换的语音合成引擎,设定-语音输入与输出中)
Protips.apk 桌面小绿人插件(可删)
*QuickMgr.apk 一键设定(长按menu的后弹出的那个,绝不能删除)
*Settings.apk 系统设定(绝不能删除)
*SettingsProvider.apk 设定服务程序 (绝不能删除)
*SetupWizard.apk开机引导(在定制Rom时不可删,刷好机可用Root Explorer删掉)
SMSPopup.apk简讯泡泡(就是简讯来时弹出的那个,其实就是个弹出框架)
soundback.apk辅助功能(可删)
SoundRecorder.apk 录音机(可用第三方录音软件替代)
Stk.apk SIM卡服务(可删,有机友把联系人复制在SIM卡上的就不要删它)
Street.apk 街道(可删)
*Superuser.apk授权程序(就是程序行表上面那个,用这个来获取Root的)
Talk.apk 系统服务项(可删)
talkback.apk 辅助功能(可删)
*TelephonyProvider.apk 拨号记录存储服务(绝不能删除)
Term.apk 超级终端(可删,不过不建议,可以用来刷Recovery)
TtsService.apk Text-to-speech服务(可删)
Updater.apk 在线升级(可删)
UserDictionaryProvider.apk 用户数据字典服务(可删)
Vending.apk 电子市场(可删)
VoiceSearch.apk 语音搜索(可删)
提示: 带*号的不可以删除,否则会出现严重问题,例如手机卡死,死机,无法开机等情况。
2024-12-28 23:52
2024-12-28 22:34
2024-12-28 21:51
2024-12-28 21:49
2024-12-28 21:48