`
sharp2wing
  • 浏览: 270164 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Android定制出厂默认输入法

阅读更多
方法一:
\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\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);
分享到:
评论
2 楼 pfglovejava 2013-11-15  
lfkabc 写道
改动资源文件后,在用mmm编译的时候会出现找不到资源的情况,请问这个如何解决?例如:在您的例子中(方法二),在编译的时候就会在res.getString( com.android.internal.R.string.config_default_input_method ); 此处报错。

我感觉是资源文件对应的ID没用生成,所以不能通过R.xxx.xxx引用。在网上找了一会,有的说是把对应的jar删除,但是对应的jar是哪个呢??

在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了。
1 楼 lfkabc 2012-05-23  
改动资源文件后,在用mmm编译的时候会出现找不到资源的情况,请问这个如何解决?例如:在您的例子中(方法二),在编译的时候就会在res.getString( com.android.internal.R.string.config_default_input_method ); 此处报错。

我感觉是资源文件对应的ID没用生成,所以不能通过R.xxx.xxx引用。在网上找了一会,有的说是把对应的jar删除,但是对应的jar是哪个呢??

相关推荐

    Android中系统默认输入法设置的方法(输入法的显示和隐藏)

    1.调用显示系统默认的输入法 方法一、 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(m_receiverView(接受软键盘输入的视图(View)),...

    android修改默认google拼音输入法及预置apk

    在Android系统中,用户可以自由选择各种输入法来满足自己的输入需求,但有时为了特定应用场景,我们可能需要将Google拼音输入法设为默认输入法,并将其预置到系统中。在高通平台8909上操作这个过程涉及到对Android...

    android7.1.2内置讯飞输入法

    android7.1.2内置讯飞输入法发,包括FlyIMEjackw.apk和Android.mk 将压缩解压,并将其中的apk解压,然后上传到android_source/packages/apps/

    android7.1.2内置搜狐输入法

    7. 重启设备后,系统应该会自动加载内置的搜狐输入法,用户可以在设置中选择它作为默认输入法。 集成内置输入法时,需要注意兼容性问题,特别是对于不同设备和Android版本,因为每款输入法可能需要特定的API级别或...

    Android增加默认中文输入法

    Android增加默认中文输入法

    7.1预置搜狗输入法为默认输入法.patch

    7.1预置搜狗输入法为默认输入法

    Android 类似搜狗输入法android源码.zip

    开发者可以通过修改这些布局文件来定制输入法的外观和交互方式。 3. **字典文件**:输入法的核心之一是其词汇库。搜狗输入法的源码可能会包含字典加载和查询的实现,这通常涉及到高效的字符串匹配算法和数据结构,...

    Android输入法的打开关闭

    这是Android默认的行为,由系统的焦点管理和触摸事件处理来驱动。 在应用程序开发中,有时我们需要手动控制输入法的显示和隐藏。例如,在一个全屏应用中,可能需要在启动时隐藏输入法,或者在特定操作后显示输入法...

    修改Android输入法默认语言补丁

    该补丁用来修改Android默认输入法的默认语言,该补丁用来修改Android默认输入法的默认语言

    获取默认输入法

    在Android 4.0(Ice Cream Sandwich)版本中,系统提供了获取和设置默认输入法的功能,这对于开发者来说是非常实用的,特别是对于那些需要自定义输入体验的应用来说。本文将详细介绍如何在Android 4.0中获取所有...

    Android IMF输入法总结

    Android IMF输入法总结 Android IMF 输入法总结是 Android 1.5 新添加的一个重要功能,用来支持软键盘、各种的输入法。 IMF Input Method Framework 的主要组件包括 Input Method Manager (IMM)、Input Method (IME...

    Android谷歌拼音输入法源码

    开发语言:java 开发环境:android studio Chipmunk 2021.2.1版本 内容概要:谷歌拼音输入法,支持中英文切换。C++代码,cmake编译通过,整个工程可以编译成一个...适合人群:C++/JAVA开发者,对有输入法定制需求的人群

    android自定义车牌号输入法

    那么如果有比数字键盘更复杂的输入法我们该怎么实现呢? 比如车牌号输入法.最近我在项目中遇到的一个车牌输入法的问题,需要限定用户第一个字符只能是34个省份汉字简称,第二位为大写字母,余下5位为数字+字母大写的形势

    Android Studio3.0输入法卡顿替换包

    本文将深入探讨Android Studio 3.0中输入法卡顿的成因以及如何通过替换特定文件来解决这一问题。 Android Studio 3.0的发布带来了许多新特性和改进,旨在提高开发效率和优化用户体验。然而,由于系统兼容性或硬件...

    Android Studio模拟器x86中文输入法.apk

    Android Studio模拟器 AVD intelx86 中文莱姆输入法.apk 安装包 x86模拟器中文输入法,x86模拟器中文输入法x86模拟器中文输入法x86模拟器中文输入法

    Android平台输入法源码汇总

    这对于进行个性化输入法开发,或者为特定场景定制输入法(如游戏输入法、无障碍输入法)都是十分有益的。因此,这个“Android平台输入法源码汇总”资源包对于深入学习Android输入法开发至关重要。

    android 输入法 可替换系统输入法

    android输入法 emoji 输入法 键盘 软键盘

    android 手机 中文输入法

    在Android手机上,中文输入法是用户日常使用中不可或缺的一部分,尤其对于中文用户来说,一个高效、便捷且功能丰富的输入法能极大地提升打字体验。本主题主要关注Android平台上的中文输入法,特别是通过apk安装的国...

Global site tag (gtag.js) - Google Analytics