更换安卓7.0系统默认输入法的方法:

首先我们需要在 frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java里面做修改

private void loadSecureSettings(SQLiteDatabase db) {

/ /我们需要在这个方法中添加下面的方法

/// M: change default inputMethod by xiangzaixiansheng @{
            
            loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
                    R.string.default_Enable_Input_Methods);
            ///@}

}

注意上面标红的字段,在6.0之前这里是可以直接传入String的值的,在这之后就只能传入Int值了。所以我们需要在相应的String.xml文件中添加相应的字段。

<!-- change default inputMethod by xiangzaixiansheng-->
    <string name="default_Enable_Input_Methods">com.android.inputmethod.latin/.LatinIME:com.emoji.keyboard.touchpal/com.cootek.smartinput5.TouchPalIME</string>

这里我们添加的是触宝输入法。这里我们应该注意的输入法的包名ID(上面标红的位置);

我们还需要在frameworks/base/services/core/java/com/android/server/InputMethodManagerService.java里面进行设置

if (!mImeSelectedOnBoot) {
                   Slog.w(TAG, "Reset the default IME as \"Resource\" is ready here.");
                   /// M: change default inputMethod byxiangzaixiansheng  @{
                   // String preInstalledImeName = SystemProperties.get("ro.mtk_default_ime");
                   String preInstalledImeName ="com.emoji.keyboard.touchpal/com.cootek.smartinput5.TouchPalIME";
                   ///@}

为了防止切换语言后,默认输入法发生变化,我们还要注释掉一段代码。

mContext.registerReceiver(
                new BroadcastReceiver() {
                    @Override
                    public void onReceive(Context context, Intent intent) {
                        synchronized(mMethodMap) {
                    /// M: change default inputMethod by xiangzaixiansheng@{
                            //resetStateIfCurrentLocaleChangedLocked();
                    ///@}       
                        }
                    }
                }, filter);

按照上面的方法就可以实现Android6.0和7.0默认输入法的设置

Android7.0更换系统默认输入法相关推荐

  1. java 切换系统输入法,Android7.0更换系统默认输入法

    更换安卓7.0系统默认输入法的方法: 首先我们需要在 frameworks/base/packages/SettingsProvider/src/com/android/providers/setti ...

  2. [Android系统]android7.1 修改系统默认输入法

    参看博客: Android 7.0 删除原生输入法(AOSP)&更换系统默认输入法_Photon128的博客-CSDN博客_aosp输入法 [RK3288][Android6.0] 调试笔记 ...

  3. Android 7.0 删除原生输入法(AOSP)更换系统默认输入法

    一.删除原生输入法 1 . 删除build/target/product/core.mk 文件下的原生输入法: PRODUCT_PACKAGES += BasicDreams BlockedNumbe ...

  4. rk3399 9.0修改系统默认输入法

    在rk3399 9.0中设置搜狗输入法为系统默认输入法 framework/base/core/java/com/android/internal/inputmethod/InputMethodUti ...

  5. android7.0修改系统默认时间

    客户需求:修改默认系统时间为2017/1/1,即烧机后开机显示的时间. Index: SystemServer.java ======================================= ...

  6. android 11.0 12.0第三方输入法app设置系统默认输入法

    1.概述 在11.0 12.0的产品开发中,有功能需要要求设置默认输入法,替换掉系统的输入法,所以这就需要了解设置 输入法的相关功能需求,然后根据输入法包名来设置默认输入法 2.第三方输入法app设置 ...

  7. android 12.0 第三方输入法app设置系统默认输入法

    1.概述 在12.0的产品开发中,有功能需要要求设置默认输入法,替换掉系统的输入法,所以这就需要了解设置输入法的相关功能需求,然后根据输入法包名来设置默认输入法 2.第三方输入法app设置系统默认输入 ...

  8. android 10.0 第三方输入法app设置系统默认输入法

    目录 1.概述 2.第三方输入法app设置系统默认输入法的核心类

  9. android自带中文字体,Android更换系统默认显示的字体使用自定义字体

    序言 上一篇Android 自定义字体,更换系统默认显示的字体使用自定义字体有讲到怎样指定控件显示指定字体,怎样整个软件显示指定字体,怎样WebView加载指定字体,但是还留下一个怎样修改整个系统的默 ...

最新文章

  1. MathType6.9b安装及在Word2013中无法正常使用的解决方法
  2. 人工智能:看看BAT三巨头怎么说
  3. GSL库在VC6.0上的配置
  4. YUM(Yellow gog Updater Modifie)服务器的配置
  5. oracle数据同步实例
  6. 用Swift完成不同View Controller之间的切换
  7. Spring: Spring 从xml获取bean
  8. bzoj 3209 花神的数论题 —— 数位DP
  9. 记录一次json转换的经历
  10. 磁盘阵列(RAID) 级别
  11. 凸优化第二章凸集 2.2 重要例子(仿射集合和凸集)
  12. jmeter下载地址
  13. Jenkins和Docker在HULK的落地实践
  14. sql server 常用工具
  15. android模拟器 vt,逍遥安卓模拟器怎么开启VT模式 VT虚拟化设置方法
  16. 是否开启谷歌Ad广告中的搜索网络合作伙伴?
  17. SpringBoot(二):详细讲解SpringBoot整合MyBatis
  18. neat download manager是什么?多线程下载工具 NeatDownloadManager
  19. Go语言学习笔记—golang基础语法
  20. 通信中的DA,SA,TA,RA分别是什么意思?

热门文章

  1. 决策树案例以及决策树可视化
  2. 软考A计划-电子商务设计师-电子商务基础知识
  3. USB Type-C接口CC引脚功能
  4. 一种Python全局配置规范以及其魔改
  5. Oracle 报ora 12541 12560
  6. ❀TCP/IP协议面试题总结❀
  7. xp系统 计算机无法访问,WinXP电脑中的文件或文件夹拒绝访问如何解决?
  8. Unicode 编码范围
  9. 低功耗开机(智能马桶开发记录)
  10. java读取csv文件的多种方式