android默认输入法的一些包名类名

本文列举了搜狗输入法、百度输入法、谷歌拼音输入法及默认键盘输入法的应用包名,便于开发者进行应用程序的集成与调试。


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

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

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

默认键盘输入法:com.android.inputmethod.latin/.LatinIME


### 修改Android设备默认输入法为搜狗输入法的实现方法 在 Android 系统中,将 **搜狗输入法** 设置为默认输入法通常需要修改系统框架层和配置文件中的相关参数。以下是在不同 Android 版本(如 9.0、11.0、12.0 和 13.0)中设置默认输入法的具体方法。 #### 1. 配置 `config.xml` 文件 在系统启动时,可以通过修改 `config.xml` 文件来指定默认启用的输入法。该文件一般位于以下路径: ``` frameworks/base/core/res/res/values/config.xml ``` 在该文件中添加或修改以下内容,以确保搜狗输入法含在系统允许的输入法列表中,并将其设为默认值: ```xml <string name="config_default_input_method" translatable="false"> com.sohu.inputmethod.sogou/.SogouIME </string> <string name="config_enabled_input_methods" translatable="false"> com.sohu.inputmethod.sogou/.SogouIME:com.android.inputmethod.latin/.LatinIME </string> ``` 此配置会确保系统在首次启动时自动将搜狗输入法设为默认输入法 [^3]。 #### 2. 在 SettingsProvider 中配置默认输入法 为了确保用户数据初始化时也能正确设置默认输入法,可以修改 `DatabaseHelper.java` 文件,该文件通常位于以下路径: ``` frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java ``` 在 `loadSecureSettings()` 方法中,找到与输入法相关的代码段,并添加如下内容: ```java loadStringSetting(res, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.def_input_method); ``` 同时,在 `defaults.xml` 文件中定义默认输入法包名类名: ```xml <string name="def_input_method" translatable="false"> com.sohu.inputmethod.sogou/.SogouIME </string> ``` 这一步确保了在用户首次使用设备时,系统会加载搜狗输入法作为默认输入法 [^2]。 #### 3. 授予权限以避免运行时权限弹窗 由于 Android 6.0 及以上版本引入了运行时权限机制,在点击输入框时可能会弹出权限请求对话框。为了避免这一问题,可以在 `DefaultPermissionGrantPolicy.java` 中授予搜狗输入法所需的权限。 该文件通常位于以下路径: ``` frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java ``` 在 `grantDefaultPermissions()` 方法中添加以下代码片段: ```java grantRuntimePermissionsForApp(context, "com.sohu.inputmethod.sogou", new String[]{ Manifest.permission.RECORD_AUDIO, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE }); ``` 这样可以在系统启动时直接为搜狗输入法授予必要的运行时权限,从而避免频繁弹出权限请求提示 [^1]。 --- ### 示例代码:授予权限的完整逻辑 以下是一个简化的示例代码片段,展示了如何在 `DefaultPermissionGrantPolicy.java` 中动态授予搜狗输入法权限: ```java private void grantSogouInputMethodPermissions(Context context) { PackageManager pm = context.getPackageManager(); if (pm.checkPermission(Manifest.permission.RECORD_AUDIO, "com.sohu.inputmethod.sogou") != PackageManager.PERMISSION_GRANTED) { AppOpsManager appOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); appOps.setMode(AppOpsManager.OP_RECORD_AUDIO, 10021, "com.sohu.inputmethod.sogou", AppOpsManager.MODE_ALLOWED); } } ``` --- ### 总结 通过修改 `config.xml` 文件、配置 `SettingsProvider` 以及在 `DefaultPermissionGrantPolicy.java` 中授予运行时权限,可以实现在 Android 系统中将搜狗输入法设置为默认输入法,并避免运行时权限弹窗的问题。这些修改适用于 Android 9.0 至 Android 13 的多个版本。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值