InputMethodManager.SetExplicitlyEnabledInputMethodSubtypes Método

Definición

Actualiza la lista de habilitados InputMethodSubtype explícitamente para un IME determinado propiedad del proceso de llamada.

[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

Parámetros

imiId
String

Id. de IME. El IME especificado y el proceso de llamada deben pertenecer al mismo paquete. De lo contrario SecurityException , se producirá .

subtypeHashCodes
Int32[]

Matriz de que InputMethodSubtype#hashCode() se va a habilitar explícitamente. Las entradas que se encuentran en el IME especificado se omitirán silenciosamente. Pase una matriz vacía para restablecer el estado al valor predeterminado.

Atributos

Comentarios

Actualiza la lista de habilitados InputMethodSubtype explícitamente para un IME determinado propiedad del proceso de llamada.

De forma predeterminada, cada IME no tiene habilitado InputMethodSubtypeexplícitamente . En este estado, el sistema decidirá qué InputMethodSubtype se debe habilitar mediante la información disponible en tiempo de ejecución según la configuración del idioma por usuario. Sin embargo, los usuarios pueden seleccionar manualmente uno o varios InputMethodSubtype para habilitarse en una actividad mostrada por #showInputMethodAndSubtypeEnabler(String). Este cambio manual se almacena en Settings.Secure#ENABLED_INPUT_METHODS para que el cambio pueda persistir en los reinicios. Settings.Secure#ENABLED_INPUT_METHODS almacena InputMethodSubtype#hashCode() como identificador de InputMethodSubtype por motivos históricos.

Esta API proporciona una manera segura y administrada para que los desarrolladores de IME modifiquen lo que InputMethodSubtype se hace referencia en Settings.Secure#ENABLED_INPUT_METHODS para su propio IME. Un caso de uso es cuando los desarrolladores de IME quieren usar su propia actividad para que los usuarios elijan InputMethodSubtype. Otro caso de uso es que los desarrolladores de IME corrijan cualquier valor obsoleto o no válido almacenado en Settings.Secure#ENABLED_INPUT_METHODS sin molestar a los usuarios. Se garantiza que el paso de un vacío subtypeHashCodes restablezca el estado al valor predeterminado.

<h3>Para controlar el valor devuelto de InputMethodSubtype#hashCode()</h3>

android.R.attr#subtypeId y android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder#setSubtypeId(int) están disponibles para que los desarrolladores de IME controle el valor devuelto de InputMethodSubtype#hashCode(). Tenga en cuenta que -1 no es un valor válido de InputMethodSubtype#hashCode() por razones históricas.

<h3>Nota para compatibilidad< con Direct Boot/h3>

Aunque los desarrolladores de IME pueden llamar a esta API incluso antes android.os.UserManager#isUserUnlocked() de que se convierta en true, este cambio es volátil, por lo tanto, permanece efectivo solo hasta android.os.UserManager#isUserUnlocked() que true se vuelve o se reinicia el dispositivo. Para realizar el cambio, los desarrolladores de IME persistentes deben llamar a esta API de nuevo después de Intent#ACTION_USER_UNLOCKEDrecibir .

Java documentación para android.view.inputmethod.InputMethodManager.setExplicitlyEnabledInputMethodSubtypes(java.lang.String, int[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a