AppOpsManager.SetOnOpNotedCallback メソッド

定義

オーバーロード

名前 説明
SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback)

新しい OnOpNotedCallback を設定します。

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback, AppOpsManagerCallbackFlag)

新しい OnOpNotedCallback を設定します。

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback)

新しい OnOpNotedCallback を設定します。

[Android.Runtime.Register("setOnOpNotedCallback", "(Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpNotedCallback;)V", "GetSetOnOpNotedCallback_Ljava_util_concurrent_Executor_Landroid_app_AppOpsManager_OnOpNotedCallback_Handler", ApiSince=30)]
public virtual void SetOnOpNotedCallback(Java.Util.Concurrent.IExecutor? asyncExecutor, Android.App.AppOpsManager.OnOpNotedCallback? callback);
[<Android.Runtime.Register("setOnOpNotedCallback", "(Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpNotedCallback;)V", "GetSetOnOpNotedCallback_Ljava_util_concurrent_Executor_Landroid_app_AppOpsManager_OnOpNotedCallback_Handler", ApiSince=30)>]
abstract member SetOnOpNotedCallback : Java.Util.Concurrent.IExecutor * Android.App.AppOpsManager.OnOpNotedCallback -> unit
override this.SetOnOpNotedCallback : Java.Util.Concurrent.IExecutor * Android.App.AppOpsManager.OnOpNotedCallback -> unit

パラメーター

asyncExecutor
IExecutor

Executor: OnOpNotedCallback.onAsyncNoted on を実行する Executor、null から unset。 コールバック イベントとリスナー イベントは、この Executor を介してディスパッチされるため、使用するスレッドを簡単に制御できます。 アプリケーションのメイン スレッドを介してイベントをディスパッチするには、Context.getMainExecutor() を使用できます。 それ以外の場合は、適切なスレッドにディスパッチする Executor を指定します。

callback
AppOpsManager.OnOpNotedCallback

AppOpsManager.OnOpNotedCallback: 設定するリスナー、null から unset

属性

注釈

新しい OnOpNotedCallback を設定します。 プロセスごとにコレクターは 1 つだけ存在できます。 現在別のコールバック セットがある場合、これは失敗します。 アプリにこのコールバックに複数のプロセスが登録されている場合、システムは非同期操作でメモしたコールバックを各プロセスにファンアウトし、その結果、同じデータがアプリに複数回配信され、通常は望ましくないことに注意してください。 これを回避するには、1 つのプロセスでのみ非同期操作をリッスンすることを検討してください。 これを行う方法については、setOnOpNotedCallback(Executor,OnOpNotedCallback,int) を参照してください。

スロー: IllegalStateException 別のコールバックが既に登録されている場合

android.app.AppOpsManager.setOnOpNotedCallbackの Android リファレンス。

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

適用対象

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback, AppOpsManagerCallbackFlag)

新しい OnOpNotedCallback を設定します。

[Android.Runtime.Register("setOnOpNotedCallback", "(Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpNotedCallback;I)V", "GetSetOnOpNotedCallback_Ljava_util_concurrent_Executor_Landroid_app_AppOpsManager_OnOpNotedCallback_IHandler", ApiSince=36)]
public virtual void SetOnOpNotedCallback(Java.Util.Concurrent.IExecutor? asyncExecutor, Android.App.AppOpsManager.OnOpNotedCallback? callback, Android.App.AppOpsManagerCallbackFlag flags);
[<Android.Runtime.Register("setOnOpNotedCallback", "(Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpNotedCallback;I)V", "GetSetOnOpNotedCallback_Ljava_util_concurrent_Executor_Landroid_app_AppOpsManager_OnOpNotedCallback_IHandler", ApiSince=36)>]
abstract member SetOnOpNotedCallback : Java.Util.Concurrent.IExecutor * Android.App.AppOpsManager.OnOpNotedCallback * Android.App.AppOpsManagerCallbackFlag -> unit
override this.SetOnOpNotedCallback : Java.Util.Concurrent.IExecutor * Android.App.AppOpsManager.OnOpNotedCallback * Android.App.AppOpsManagerCallbackFlag -> unit

パラメーター

asyncExecutor
IExecutor

Executor: OnOpNotedCallback.onAsyncNoted on を実行する Executor、null から unset。 コールバック イベントとリスナー イベントは、この Executor を介してディスパッチされるため、使用するスレッドを簡単に制御できます。 アプリケーションのメイン スレッドを介してイベントをディスパッチするには、Context.getMainExecutor() を使用できます。 それ以外の場合は、適切なスレッドにディスパッチする Executor を指定します。

callback
AppOpsManager.OnOpNotedCallback

AppOpsManager.OnOpNotedCallback: 設定するリスナー、null から unset

flags
AppOpsManagerCallbackFlag

int: コールバックの動作を変更するための追加フラグ (OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC値が 0 またはOP_NOTED_CALLBACK_FLAG_IGNORE_ASYNCなど)

属性

注釈

新しい OnOpNotedCallback を設定します。 プロセスごとにコレクターは 1 つだけ存在できます。 現在別のコールバック セットがある場合、これは失敗します。 この API を使用すると、呼び出し元は同期イベントと自己操作イベントのみをリッスンし、非同期操作を無視できます。 これは、アプリに複数のプロセスがあるシナリオで役立ちます。 アプリに A と B の 2 つのプロセスがある例を考えてみましょう。操作に関するイベントは次のとおりです。op 1: プロセス A、同期操作 2: プロセス A、非同期操作 3: プロセス B、同期操作 4: プロセス B、非同期操作にリッスンするすべてのプロセスが、すべてのプロセス (この例では op 2 と op 4) から発生するイベントを取得します。 そのため、プロセス A と B の両方がリスナーとして登録されている場合、どちらも op 2 と 4 を取得しますが、これは理想的ではありません。 重複を回避するには、2 つのプロセスのいずれかをOP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC設定する必要があります。 たとえば、プロセス A はOP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC設定し、独自の同期イベント (op 1) のみを取得します。 その後、他のプロセスはすべての種類のイベントをリッスンし、op 2、3、4 を取得します。 OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNCを使用しても、OnOpNotedCallback.onAsyncNoted が引き続き呼び出される可能性があることに注意してください。 これは、コールバックが登録される前に収集された同期イベントに対して発生します。

スロー: IllegalStateException 別のコールバックが既に登録されている場合

android.app.AppOpsManager.setOnOpNotedCallbackの Android リファレンス。

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

適用対象