`
sharp2wing
  • 浏览: 271930 次
  • 性别: 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...

    Android增加默认中文输入法

    Android增加默认中文输入法

    android7.1.2内置讯飞输入法

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

    android7.1.2内置搜狐输入法

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

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

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

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

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

    Android输入法的打开关闭

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

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

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

    获取默认输入法

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

    android OpenWnnIM 开源输入法

    安卓(Android)系统本身的确没有原生的日文输入法,但是谷歌公司在安卓SDK中包含了日本omronsoft软件公司的开源输入法OpenWnn。OpenWnn是omronsoft公司的手机输入法iWnn IME的精简开源版本。OpenWnn在官方各个版本...

    Android谷歌拼音输入法源码

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

    android 全键盘输入法源码

    在Android系统中,全键盘输入法是用户与设备交互的重要组成部分,特别是在移动设备上,它提供了文字输入的方式。本文将深入探讨"android 全键盘输入法源码"的相关知识点,帮助开发者理解输入法的工作原理,并从中...

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

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

    Android IMF输入法总结

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

    android自定义车牌号输入法

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

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

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

    Android平台输入法源码汇总

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

Global site tag (gtag.js) - Google Analytics