×

latinime l

latinime(mtk怎么更改latinime的默认输入语言)

admin admin 发表于2022-09-21 09:25:55 浏览214 评论0

抢沙发发表评论

本文目录

mtk怎么更改latinime的默认输入语言

【GB】
提供简单的sample code,如默认将俄语、英文、法语输入法勾选:
1.新增文件LatinImeReceiver.JAVA
package com.android.inputmethod.latin;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.util.Log;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
//import android.view.inputmethod.InputMethodSubtype;
import android.text.TextUtils;
public class LatinImeReceiver extends BroadcastReceiver {
private static final String TAG = LatinImeReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
Log.d(“LatinImeReceiver“, “step1“);
SharedPreferences sp = context.getSharedPreferences(“com.android.inputmethod.latin_preferences“,
Context.MODE_PRIVATE);
boolean hasSet = sp.getBoolean(“has_set“, false);
if (!hasSet) {
Log.d(“LatinImeReceiver“, “step2“);
Editor editor = sp.edit();
Log.d(“LatinImeReceiver“, “step3“);
editor.putString(LatinIME.PREF_SELECTED_LANGUAGES, “en_US,ru,fr“); //默认将英语、俄语勾选,具体该怎么写
可以参考inputlanguageselection.java中的WHITELIST_LANGUAGES
editor.putBoolean(“has_set“, true);
Log.d(“LatinImeReceiver“, “step4“);

安卓里latinime是什么能删吗

你好,这个文件是放游戏数据包的,如果你的手机里没有像都市赛车之类需要数据包的游戏的话,完全可以删除,毫无影响,如果你哪天安装了类似游戏,也会自动再次生成的,

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、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 为例
请改用下面的方法修改,在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的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)检查是否成功预置输入法:FAQ13232
(2)检查下setting-- language&input 界面,该输入法前面的勾是否选上,没有选上说明此输入法没有被enable,请参考FAQ08909来enable;
(3)检查是否发生语言切换,如果有切换则会恢复默认输入法,若不想因语言变化导致恢复,请参考FAQ12213,FAQ06663
(4)修改默认输入法FAQ04327
这个解决方法是在闯客技术论坛转的,如果解决不了你可以去提问。-l

Android在LatinIME基础上如何加入中文输入法

【GB】提供简单的samplecode,如默认将俄语、英文、法语输入法勾选:1.新增文件LatinImeReceiver.JAVApackagecom.android.inputmethod.latin;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.content.SharedPreferences.Editor;importandroid.preference.PreferenceManager;importandroid.provider.Settings;importandroid.util.Log;importandroid.view.inputmethod.InputMethodInfo;importandroid.view.inputmethod.InputMethodManager;//importandroid.view.inputmethod.InputMethodSubtype;importandroid.text.TextUtils;publicclassLatinImeReceiverextendsBroadcastReceiver{privatestaticfinalStringTAG=LatinImeReceiver.class.getSimpleName();@OverridepublicvoidonReceive(Contextcontext,Intentintent){Log.d(“LatinImeReceiver“,“step1“);SharedPreferencessp=context.getSharedPreferences(“com.android.inputmethod.latin_preferences“,Context.MODE_PRIVATE);booleanhasSet=sp.getBoolean(“has_set“,false);if(!hasSet){Log.d(“LatinImeReceiver“,“step2“);Editoreditor=sp.edit();Log.d(“LatinImeReceiver“,“step3“);editor.putString(LatinIME.PREF_SELECTED_LANGUAGES,“en_US,ru,fr“);//默认将英语、俄语勾选,具体该怎么写可以参考inputlanguageselection.java中的WHITELIST_LANGUAGESeditor.putBoolean(“has_set“,true);Log.d(“LatinImeReceiver“,“step4“);-么