日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]Android6.0設(shè)置默認輸入法,這里以日文輸入法為例,1.在frameworks/base/packages/SettingsProvider/res/values/defaults.xml 添加

Android6.0設(shè)置默認輸入法,這里以日文輸入法為例,

1.在frameworks/base/packages/SettingsProvider/res/values/defaults.xml 添加:


jp.co.omronsoft.openwnn/.OpenWnnJAJP

2.在frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java添加:



loadStringSetting(stmt,?Settings.Secure.DEFAULT_INPUT_METHOD,R.string.def_input_method?);

這個方法加在private void loadSecureSettings(SQLiteDatabase db)這個里面。


3.使能所有輸入法,frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java


---?a/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++?b/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@?-926,7?+926,7?@@?public?class?InputMethodUtils?{
?????????//?At?the?initial?boot,?the?settings?for?input?methods?are?not?set,
?????????//?so?we?need?to?enable?IME?in?that?case.
?????????public?void?enableAllIMEsIfThereIsNoEnabledIME()?{
-????????????if?(TextUtils.isEmpty(getEnabledInputMethodsStr()))?{
+????????????if?(!TextUtils.isEmpty(getEnabledInputMethodsStr()))?{
?????????????????StringBuilder?sb?=?new?StringBuilder();
?????????????????final?int?N?=?mMethodList.size();
?????????????????for?(int?i?=?0;?i?<?N;?i++)?{




這里的jp.co.omronsoft.openwnn/.OpenWnnJAJP是輸入法ID,每個輸入法都有自己的ID,如果不知道輸入法ID,可以通過下面的打印方法獲?。?/p>

frameworks/base/services/core/java/com/android/server/InputMethodManagerService.java


?void?buildInputMethodListLocked(ArrayListlist,
????????????HashMapmap,?boolean?resetDefaultEnabledIme)?{
????????if?(DEBUG)?{
????????????Slog.d(TAG,?"---?re-buildInputMethodList?reset?=?"?+?resetDefaultEnabledIme
????????????????????+?"?n?------?n"?+?InputMethodUtils.getStackTrace());
????????}
????????list.clear();
????????map.clear();

????????//?Use?for?queryIntentServicesAsUser
????????final?PackageManager?pm?=?mContext.getPackageManager();
????????String?disabledSysImes?=?mSettings.getDisabledSystemInputMethods();
????????if?(disabledSysImes?==?null)?disabledSysImes?=?"";

????????final?Listservices?=?pm.queryIntentServicesAsUser(
????????????????new?Intent(InputMethod.SERVICE_INTERFACE),
????????????????PackageManager.GET_META_DATA?|?PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS,
????????????????mSettings.getCurrentUserId());

????????final?HashMap<String,?List>?additionalSubtypes?=
????????????????mFileManager.getAllAdditionalInputMethodSubtypes();
????????for?(int?i?=?0;?i?<?services.size();?++i)?{
????????????ResolveInfo?ri?=?services.get(i);
????????????ServiceInfo?si?=?ri.serviceInfo;
????????????ComponentName?compName?=?new?ComponentName(si.packageName,?si.name);
????????????if?(!android.Manifest.permission.BIND_INPUT_METHOD.equals(
????????????????????si.permission))?{
????????????????Slog.w(TAG,?"Skipping?input?method?"?+?compName
????????????????????????+?":?it?does?not?require?the?permission?"
????????????????????????+?android.Manifest.permission.BIND_INPUT_METHOD);
????????????????continue;
????????????}

????????????if?(DEBUG)?Slog.d(TAG,?"Checking?"?+?compName);
			//打印添加在這里,打印所有輸入法的ID
????????????Slog.d(TAG,?"Checking?packageName:"?+?si.packageName?+?"??name:"?+?si.name);

????????????try?{
????????????????InputMethodInfo?p?=?new?InputMethodInfo(mContext,?ri,?additionalSubtypes);
????????????????list.add(p);
????????????????final?String?id?=?p.getId();
????????????????map.put(id,?p);

????????????????if?(DEBUG)?{
????????????????????Slog.d(TAG,?"Found?an?input?method?"?+?p);
????????????????}

重新編譯,燒錄測試ok。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉