Android内置第三方输入法

本篇讲诉如何再安卓源码中内置第三方输入法,并设为默认输入法启动,以及过程中可能引起的一些其他系统Bug处理:

内置输入法关联源码

各第三方输入法ID

以讯飞为例内置方法

设置默认首选第三方输入法引起的系统问题

一、内置输入法关联源码

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

二、各第三方输入法ID

输入法的ID一定要使用正确,否则设置默认启用内置的输入法的时候就会出现很多坑,比如我在内置讯飞的时候在网上查找讯飞输入法ID,写成了com.iflytek.inputmethod/.iFlyIME,导致默认不能开启讯飞浪费了很多时间。以下是整理的各输入法ID的正确值,仅供参考!

讯飞输入法:com.iflytek.inputmethod/.FlyIME

搜狗输入法:com.sohu.inputmethod.sogou/.SogouIME

百度输入法:com.baidu.input/.ImeService

谷歌输入法:com.google.android.inputmethod.pinyin/.PinyinIME

触宝输入法:com.cootek.smartinput5/.TouchPalIME

腾讯输入法:com.tencent.qqpinyin/.QQPYInputMethodService

三、内置讯飞输入法

关于如何内置应用的方法这里就不再过度的记录,具体见[内置应用][http://blog.csdn.net/u014304560/article/details/73470127];

从官网获取讯飞输入法的apk,并内置到系统中

将该apk内置到系统中,安卓mk文件写法如下:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := FlyIME

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

LOCAL_MODULE_CLASS := APPS

LOCAL_PACKAGE_NAME := FlyIME

LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_APPS)

LOCAL_SRC_FILES := FlyIME.apk

LOCAL_CERTIFICATE := PRESIGNED

LOCAL_PREBUILT_JNI_LIBS := \

lib/armeabi/libcom_iflytek_inputmethod_bundlesetting.so \

lib/armeabi/libcom_iflytek_inputmethod_mmp.so \

lib/armeabi/libdexopt.so \

lib/armeabi/libMetaVAD-v1.so \

lib/armeabi/libmsc-v8.so \

lib/armeabi/libNativeCrashCollect.so \

lib/armeabi/libsmartaiwrite-jni-v23.so \

lib/armeabi/libvadLib-v5.so \

lib/armeabi/libvipfont.so

#LOCAL_MULTILIB := 64

include $(BUILD_PREBUILT)

3.源代码的修改

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

添加一行:

com.iflytek.inputmethod.FlyIME

alps/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

private void loadSecureSettings(SQLiteDatabase db) {

SQLiteStatement stmt = null;

try {

stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"

+ " VALUES(?,?);");

...

...

loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,

R.string.default_input_method);

...

...

}

}

增加loadStringSetting设置默认输入法一行代码。

android百度输入法源码,Android内置第三方输入法相关推荐

  1. android11 源码内置第三方输入法并默认选择

    目录 1.屏幕截图 2.添加输入法APK 3.配置输入法 4.添加编译 android11内置第三方输入法,设置默认的输入法 1.屏幕截图 默认勾选可操作的输入法列表

  2. MyBatis 源码分析 - 内置数据源

    1.简介 本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑.搞懂这些数据源的实现,可使大家对数据源有更深入的认识.同时在配置这些数据源时,也会更清楚每种属性的意义和用途.因此,如果大家想知其 ...

  3. android 滑动接听源码,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...

    Android精选源码 Android优质博客 前言permissions4m 最初的设计是仅仅做成一个编译器注解框架,在1.0.0版本时,它纯粹地实现了原生 Android 请求流程,关于它的设计思 ...

  4. android studio im源码,Android Studio 导入 AOSP 源码

    有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具.问题来 ...

  5. android百度输入法源码,Android系统预置百度输入法

    文档说明 本文档以SC806-CN-00为例(msm8909平台,Android 5.1),说明如何预置百度输入法APK,且设置为系统默认输入法. 预置百度输入法APK 先去百度网站下载一个百度输入法 ...

  6. android代码修改默认输入法,Android 4.3 源码下如何修改默认输入法

    应项目(Android 4.3)需求需要修改默认输入法,本来想的是,这个应该很简单的撒.随google之-,发现网上主要罗列出以下这种方法:在 frameworks\base\core\res 因项目 ...

  7. Android11源码中内置搜狗输入法(Rockchip)

    下载IME 将下载好的APK后缀改为压缩包(zip)并解压提前APK中用到的so库 将APK与lib库拷贝到源码下 vendor/rockchip/common/apps/SogouIME 将IME内 ...

  8. android手势密码源码,Android自定义UI手势密码改进版源码下载

    在之前文章的铺垫下,再为大家分享一篇:Android手势密码,附源码下载,不要错过. 先看第一张图片的布局文件 activity_main.xml xmlns:tools="http://s ...

  9. android 自定义相机源码,Android 自定义相机及分析源码

    Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 action的作用就是声明action ...

最新文章

  1. Dialog、Toast、Snackbar,你真的了解它们吗?
  2. java 反射 慢在那里_Java 反射到底慢在哪?
  3. python在财务领域的应用-浅谈财务智能化在实际工作中的运用
  4. java环境变量(win10 java8)
  5. DICOM医学图像处理:开源库mDCM与DCMTK的比较分析(一),JPEG无损压缩DCM图像(续)...
  6. 变位齿轮重合度计算公式_渐开线圆柱齿轮传动的重合度计算.pdf
  7. ThinkPHP项目笔记之RBAC(权限)补充篇
  8. 中断(二)—— x86 APIC
  9. 计量广义差分操作过程_一分钟看完计量经济学
  10. STM8S003F3 内部时钟初始化以及定时器做延时的使用
  11. 使用html表格标签做一份简历表
  12. cocos2dx之Box2D
  13. Java基础知识Day08---Scaner类
  14. 22种设计模式——原型模型
  15. SaaS-HRM中的认证授权
  16. 城市选择控件文本框【纯javascript打造】兼容IE6以及以上、谷歌、Firefox
  17. 发那科数据采集 (法兰克数据采集)
  18. 绝地求生大逃杀DLL140dll出错怎么办?
  19. 丁磊开始做微商 斥100亿招募网易考拉微店主
  20. 获取Obb包里面的某个资源文件

热门文章

  1. 换流变压器设备GIM建模要求
  2. 微信多开消息防撤回工具让你的电脑登录多个微信账户
  3. 黑马程序员——总集篇
  4. 【期刊】基于 Python 的新浪微博数据爬虫
  5. Error:For input string: Consult IDE log for more details (Help | Show Log)
  6. 软考高级系统架构设计师:论面向服务架构(SOA)设计及其应用
  7. 求助:vsftpd启动报错code=exited, status=2
  8. matlab亮度平衡_亮度对比度算法MATLAB实现
  9. 沙子是如何变成CPU的
  10. 客快物流大数据项目(七十):Impala入门介绍