Idioma

AppFunctionManager.RegisterAppFunction Método

Definição

Registra uma implementação de runtime para uma função de aplicativo, que pode ser executada usando executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver).

[Android.Runtime.Register("registerAppFunction", "(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/appfunctions/AppFunction;)Landroid/app/appfunctions/AppFunctionRegistration;", "", ApiSince=37)]
public Android.App.AppFunctions.IAppFunctionRegistration RegisterAppFunction(string functionIdentifier, Java.Util.Concurrent.IExecutor executor, Android.App.AppFunctions.IAppFunction appFunction);
[<Android.Runtime.Register("registerAppFunction", "(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/appfunctions/AppFunction;)Landroid/app/appfunctions/AppFunctionRegistration;", "", ApiSince=37)>]
member this.RegisterAppFunction : string * Java.Util.Concurrent.IExecutor * Android.App.AppFunctions.IAppFunction -> Android.App.AppFunctions.IAppFunctionRegistration

Parâmetros

functionIdentifier
String

O identificador exclusivo da função, que deve corresponder a uma entrada nas declarações de recurso XML do aplicativo. Este valor não pode ser nulo.

executor
IExecutor

O Executor no qual a função será invocada. Este valor não pode ser nulo.

appFunction
IAppFunction

A implementação appFunction a ser executada quando a função é disparada. Este valor não pode ser nulo.

Retornos

Um objeto AppFunctionRegistration que pode ser usado para cancelar o registro da função. Este valor não pode ser nulo.

Atributos

Comentários

Registra uma implementação de runtime para uma função de aplicativo, que pode ser executada usando executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver).

executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver) direcionando uma função de aplicativo fornecida por esse método disparará o método AppFunction.onExecuteAppFunction da implementação fornecida, desde que o processo que o registra não esteja congelado e o contexto que o registra não seja destruído (momento em que o registro será removido).

Você deve declarar a função de aplicativo em seu AndroidManifest.xml usando uma propriedade> no nível <do aplicativo chamada android.app.appfunctions. Consulte AppFunctionMetadata para obter detalhes sobre o esquema XML (your_app_functions.xml no exemplo abaixo).

<application ...>
<property
      android:name="android.app.appfunctions"
      android:value="your_app_functions.xml" />
  ...
</application>

As implementações de função só podem ser registradas em contextos de atividade ou serviço. Se estiver se registrando de uma atividade, considere AppFunctionMetadata.SCOPE_ACTIVITY para sua definição de função.

O functionIdentifier deve corresponder a uma função de aplicativo declarada nos ativos XML no nível do aplicativo. Se o identificador não for encontrado, esse método gerará uma IllegalArgumentException. A tentativa de registrar uma função duplicada com base nas regras de AppFunctionMetadata.getScope gerará uma IllegalStateException.

Para registrar várias funções ao mesmo tempo, considere usar registerAppFunctions(List) como uma alternativa mais eficiente.

O sistema mantém uma forte referência à implementação do AppFunction fornecida, desde que ela seja registrada. Para evitar vazamentos de memória e garantir que o sistema esteja ciente de que a função não está mais disponível, você deve chamar explicitamente AppFunctionRegistration.unregister quando a função não for mais relevante (por exemplo, em Activity.onStop() ou antes de Service.stopForeground(boolean)).

Referência do Android para android.app.appfunctions.AppFunctionManager.registerAppFunction.

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