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によって表示されるアクティビティで有効にする 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 をもう一度呼び出す必要があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。