言語

InputMethodManager.SetExplicitlyEnabledInputMethodSubtypes メソッド

定義

呼び出し元プロセスが所有する特定の 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によって表示されるアクティビティで有効にする 1 つ以上の#showInputMethodAndSubtypeEnabler(String)を手動で選択できます。 このような手動変更は Settings.Secure#ENABLED_INPUT_METHODS に格納されるため、再起動後も変更を保持できます。 Settings.Secure#ENABLED_INPUT_METHODSは、履歴上の理由からInputMethodSubtype#hashCode()の識別子としてInputMethodSubtypeを格納します。

この API は、IME 開発者が独自の IME のInputMethodSubtypeで参照されるSettings.Secure#ENABLED_INPUT_METHODSを変更するための安全で管理された方法を提供します。 1 つのユース ケースは、IME 開発者がユーザーが自分のアクティビティを使用して InputMethodSubtypeを取得する場合です。 もう 1 つのユース ケースは、IME 開発者がユーザーに迷惑をかけることなく、 Settings.Secure#ENABLED_INPUT_METHODS に格納されている古い値や無効な値を修正することです。 空の subtypeHashCodes を渡すと、状態が既定にリセットされます。

<h3>InputMethodSubtype#hashCode()</h3 の戻り値を制御する>

android.R.attr#subtypeId android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder#setSubtypeId(int)は、IME 開発者がInputMethodSubtype#hashCode()の戻り値を制御するために使用できます。 -1は、履歴上の理由からInputMethodSubtype#hashCode()の有効な値ではないことに注意してください。

<h3>Note for Direct Boot のサポート</h3>

IME 開発者は、 android.os.UserManager#isUserUnlocked()trueになる前でもこの API を呼び出すことができますが、このような変更は揮発性であるため、 android.os.UserManager#isUserUnlocked()true になるか、デバイスが再起動されるまで有効なままです。 変更を永続的な IME 開発者に行うには、 Intent#ACTION_USER_UNLOCKEDを受け取った後、この API をもう一度呼び出す必要があります。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象