Idioma

AppOpsManager.SetOnOpNotedCallback Método

Definição

Sobrecargas

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback)

Defina um novo 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

Parâmetros

asyncExecutor
IExecutor

Executor: executor para executar OnOpNotedCallback.onAsyncNoted ativado, nulo para desconjunto. Os eventos de retorno de chamada e ouvinte são expedidos por meio desse Executor, fornecendo uma maneira fácil de controlar qual thread é usado. Para expedir eventos por meio do thread principal do aplicativo, você pode usar Context.getMainExecutor(). Caso contrário, forneça um Executor que seja enviado para um thread apropriado.

callback
AppOpsManager.OnOpNotedCallback

AppOpsManager.OnOpNotedCallback: ouvinte para definir, nulo para unset

Atributos

Comentários

Defina um novo OnOpNotedCallback. Só pode haver um coletor por processo. Se atualmente houver outro conjunto de retorno de chamada, isso falhará. Observe que, se um aplicativo tiver vários processos de registro para esse retorno de chamada, o sistema apagará os retornos de chamada anotados da operação assíncrona para cada um dos processos, resultando na entrega dos mesmos dados várias vezes para um aplicativo, o que geralmente é indesejado. Para evitar isso, considere ouvir operações assíncronas apenas em um processo. Consulte setOnOpNotedCallback(Executor, OnOpNotedCallback,int) para saber como fazer isso.

Lançamentos: IllegalStateException se outro retorno de chamada já estiver registrado

Referência do Android para android.app.AppOpsManager.setOnOpNotedCallback.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback, AppOpsManagerCallbackFlag)

Defina um novo 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

Parâmetros

asyncExecutor
IExecutor

Executor: executor para executar OnOpNotedCallback.onAsyncNoted ativado, nulo para desconjunto. Os eventos de retorno de chamada e ouvinte são expedidos por meio desse Executor, fornecendo uma maneira fácil de controlar qual thread é usado. Para expedir eventos por meio do thread principal do aplicativo, você pode usar Context.getMainExecutor(). Caso contrário, forneça um Executor que seja enviado para um thread apropriado.

callback
AppOpsManager.OnOpNotedCallback

AppOpsManager.OnOpNotedCallback: ouvinte para definir, nulo para unset

flags
AppOpsManagerCallbackFlag

int: sinalizadores adicionais para modificar o comportamento de retorno de chamada, como OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC Value é 0 ou OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC

Atributos

Comentários

Defina um novo OnOpNotedCallback. Só pode haver um coletor por processo. Se atualmente houver outro conjunto de retorno de chamada, isso falhará. Essa API permite que o chamador ouça apenas eventos de sincronização e auto-operação anotados e ignore operações assíncronas. Isso é útil no cenário em que um aplicativo tem vários processos. Considere um exemplo em que um aplicativo tem dois processos, A e B. Os eventos anotados pela operação são os seguintes: op 1: process A, sync op 2: process A, async op 3: process B, sync op 4: process B, async Any process that listens to async op noted events gets events origining from all processes (op 2 and op 4 in this example). Portanto, se ambos os processos A e B se registrarem como ouvintes, ambos obterão a operação 2 e 4, o que não é o ideal. Para evitar duplicatas, um dos dois processos deve definir OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC. Por exemplo, o processo A define OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC e, em seguida, obteria apenas seu próprio evento de sincronização (op 1). O outro processo ouviria todos os tipos de eventos e obteria a operação 2, 3 e 4. Observe que, mesmo com OP_NOTED_CALLBACK_FLAG_IGNORE_ASYNC, OnOpNotedCallback.onAsyncNoted ainda pode ser invocado. Isso acontece para eventos de sincronização que foram coletados antes de um retorno de chamada ser registrado.

Lançamentos: IllegalStateException se outro retorno de chamada já estiver registrado

Referência do Android para android.app.AppOpsManager.setOnOpNotedCallback.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a