AppFunctionManager.RegisterAppFunction Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Registriert eine Laufzeitimplementierung für eine App-Funktion, die mithilfe von executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver) ausgeführt werden kann.
[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
Parameter
- functionIdentifier
- String
Der eindeutige Bezeichner für die Funktion, der einem Eintrag in den XML-Ressourcendeklarationen der App entsprechen muss. Dieser Wert darf nicht NULL sein.
- executor
- IExecutor
Der Executor, für den die Funktion aufgerufen wird. Dieser Wert darf nicht NULL sein.
- appFunction
- IAppFunction
Die AppFunction-Implementierung, die ausgeführt werden soll, wenn die Funktion ausgelöst wird. Dieser Wert darf nicht NULL sein.
Gibt zurück
Ein AppFunctionRegistration-Objekt, das zum Aufheben der Registrierung der Funktion verwendet werden kann. Dieser Wert darf nicht NULL sein.
- Attribute
Hinweise
Registriert eine Laufzeitimplementierung für eine App-Funktion, die mithilfe von executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver) ausgeführt werden kann.
executeAppFunction(AppInteractionSession, ExecuteAppFunctionRequest, Executor, CancellationSignal, OutcomeReceiver) für eine app-Funktion, die von dieser Methode bereitgestellt wird, löst die AppFunction.onExecuteAppFunction-Methode der bereitgestellten Implementierung aus, solange der Prozess, der sie registriert, nicht fixiert ist, und die Kontextregistrierung wird nicht zerstört (an diesem Punkt wird die Registrierung entfernt).
Sie müssen die App-Funktion in Ihrem AndroidManifest.xml mit einer Eigenschaft> auf Anwendungsebene <mit dem Namen android.app.appfunctions deklarieren. Ausführliche Informationen zum XML-Schema (your_app_functions.xml im folgenden Beispiel) finden Sie unter "AppFunctionMetadata".
<application ...>
<property
android:name="android.app.appfunctions"
android:value="your_app_functions.xml" />
...
</application>
Funktionsimplementierungen können nur aus Aktivitäts- oder Dienstkontexten registriert werden. Wenn Sie sich aus einer Aktivität registrieren, sollten Sie AppFunctionMetadata.SCOPE_ACTIVITY für Ihre Funktionsdefinition in Betracht ziehen.
Der functionIdentifier muss einer App-Funktion entsprechen, die in den XML-Ressourcen auf Anwendungsebene ihrer App deklariert ist. Wenn der Bezeichner nicht gefunden wird, löst diese Methode eine IllegalArgumentException aus. Beim Versuch, eine duplizierte Funktion basierend auf den Regeln von AppFunctionMetadata.getScope zu registrieren, wird eine IllegalStateException ausgelöst.
Um mehrere Funktionen gleichzeitig zu registrieren, sollten Sie die Verwendung von registerAppFunctions(List) als effizientere Alternative in Betracht ziehen.
Das System enthält einen starken Verweis auf die bereitgestellte AppFunction-Implementierung, solange es registriert ist. Um Speicherverluste zu verhindern und sicherzustellen, dass die Funktion nicht mehr verfügbar ist, müssen Sie appFunctionRegistration.unregister explizit aufrufen, wenn die Funktion nicht mehr relevant ist (z. B. in Activity.onStop() oder vor Service.stopForeground(boolean)).
Android-Referenz für android.app.appfunctions.AppFunctionManager.registerAppFunction.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.