AppOpsManager.SetOnOpNotedCallback メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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
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 リファレンス。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。