AppFunctionManager.RegisterAppFunction Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.