AppFunctionManager.RegisterAppFunction Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Inscrit une implémentation d’exécution pour une fonction d’application, qui peut être exécutée à l’aide d’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
Paramètres
- functionIdentifier
- String
Identificateur unique de la fonction, qui doit correspondre à une entrée dans les déclarations de ressources XML de l’application. Cette valeur ne peut pas être null.
- executor
- IExecutor
Exécuteur sur lequel la fonction sera appelée. Cette valeur ne peut pas être null.
- appFunction
- IAppFunction
Implémentation AppFunction à exécuter lorsque la fonction est déclenchée. Cette valeur ne peut pas être null.
Retours
Objet AppFunctionRegistration qui peut être utilisé pour annuler l’inscription de la fonction. Cette valeur ne peut pas être null.
- Attributs
Remarques
Inscrit une implémentation d’exécution pour une fonction d’application, qui peut être exécutée à l’aide d’executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver).
executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver) ciblant une fonction d’application fournie par cette méthode déclenche la méthode AppFunction.onExecuteAppFunction de l’implémentation fournie, tant que le processus d’inscription n’est pas figé et que l’inscription de contexte n’est pas détruite (à quel moment l’inscription sera supprimée).
Vous devez déclarer la fonction d’application dans votre AndroidManifest.xml à l’aide d’une propriété> au niveau <de l’application nommée android.app.appfunctions. Consultez AppFunctionMetadata pour plus d’informations sur le schéma XML (your_app_functions.xml dans l’exemple ci-dessous).
<application ...>
<property
android:name="android.app.appfunctions"
android:value="your_app_functions.xml" />
...
</application>
Les implémentations de fonction ne peuvent être inscrites qu’à partir de contextes d’activité ou de service. Si vous inscrivez à partir d’une activité, envisagez fortement AppFunctionMetadata.SCOPE_ACTIVITY pour votre définition de fonction.
FunctionIdentifier doit correspondre à une fonction d’application déclarée dans les ressources XML au niveau de l’application de votre application. Si l’identificateur est introuvable, cette méthode lève une exception IllegalArgumentException. Toute tentative d’inscription d’une fonction en double en fonction des règles d’AppFunctionMetadata.getScope lève une exception IllegalStateException.
Pour inscrire plusieurs fonctions à la fois, envisagez d’utiliser registerAppFunctions(List) comme alternative plus efficace.
Le système contient une référence forte à l’implémentation AppFunction fournie tant qu’il est inscrit. Pour éviter les fuites de mémoire et vérifier que le système est conscient que la fonction n’est plus disponible, vous devez appeler explicitement AppFunctionRegistration.unregister lorsque la fonction n’est plus pertinente (par exemple, dans Activity.onStop() ou avant Service.stopForeground(boolean)).
Référence Android pour android.app.appfunctions.AppFunctionManager.registerAppFunction.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.