InputMethodManager.SetExplicitlyEnabledInputMethodSubtypes 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更新为调用进程拥有的给定 IME 显式启用 InputMethodSubtype 的列表。
[Android.Runtime.Register("setExplicitlyEnabledInputMethodSubtypes", "(Ljava/lang/String;[I)V", "", ApiSince=34)]
public void SetExplicitlyEnabledInputMethodSubtypes(string imiId, int[] subtypeHashCodes);
[<Android.Runtime.Register("setExplicitlyEnabledInputMethodSubtypes", "(Ljava/lang/String;[I)V", "", ApiSince=34)>]
member this.SetExplicitlyEnabledInputMethodSubtypes : string * int[] -> unit
参数
- imiId
- String
IME ID。 指定的 IME 和调用进程需要属于同一包。 否则 SecurityException 将引发。
- subtypeHashCodes
- Int32[]
要显式启用的 InputMethodSubtype#hashCode() 数组。 在指定的 IME 中找到的条目将被无提示忽略。 传递空数组以将状态重置为默认值。
- 属性
注解
更新为调用进程拥有的给定 IME 显式启用 InputMethodSubtype 的列表。
默认情况下,每个 IME 均未显式启用 InputMethodSubtype。 在此状态下,系统会根据用户语言设置使用运行时提供的信息来决定应启用哪些 InputMethodSubtype 内容。 但是,用户可以手动选取一个或多个 InputMethodSubtype 可在显示 #showInputMethodAndSubtypeEnabler(String)的活动上启用。 此类手动更改存储在中 Settings.Secure#ENABLED_INPUT_METHODS ,以便更改可以在重新启动时持久保存。
Settings.Secure#ENABLED_INPUT_METHODS
InputMethodSubtype#hashCode()存储为出于历史原因的InputMethodSubtype标识符。
此 API 为 IME 开发人员提供了一种安全且托管的方式,用于修改自己 IME 中引用Settings.Secure#ENABLED_INPUT_METHODS的内容InputMethodSubtype。 一个用例是,IME 开发人员想要使用自己的活动供用户选取 InputMethodSubtype。 另一个用例是,IME 开发人员无需困扰用户即可修复存储在中的任何 Settings.Secure#ENABLED_INPUT_METHODS 过时和/或无效值。 保证传递空 subtypeHashCodes ,将状态重置为默认值。
<h3>控制 /h3 的 InputMethodSubtype#hashCode()<返回值>
android.R.attr#subtypeId 并且 android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder#setSubtypeId(int) 可用于 IME 开发人员控制返回值的返回值 InputMethodSubtype#hashCode()。 请注意, -1 这不是出于历史原因的有效值 InputMethodSubtype#hashCode() 。
<适用于直接启动支持的< h3>说明/h3>
虽然 IME 开发人员即使在变为true之前android.os.UserManager#isUserUnlocked()也可以调用此 API,但这种更改是可变的,因此仅在变为true或重新启动设备之前android.os.UserManager#isUserUnlocked()才有效。 若要使更改持久 IME 开发人员需要在收到 Intent#ACTION_USER_UNLOCKED后再次调用此 API。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。