Context.BindService Methode

Definition

Überlädt

BindService(Intent, IServiceConnection, Bind)

Stellt eine Verbindung mit einem Anwendungsdienst her, und erstellt ihn bei Bedarf.

BindService(Intent, IServiceConnection, Context+BindServiceFlags)
BindService(Intent, Bind, IExecutor, IServiceConnection)

#bindService(Intent, ServiceConnection, int) bindService(Intent, ServiceConnection, int) Identisch mit dem Executor zum Steuern von ServiceConnection-Rückrufen.

BindService(Intent, Context+BindServiceFlags, IExecutor, IServiceConnection)

BindService(Intent, IServiceConnection, Bind)

Stellt eine Verbindung mit einem Anwendungsdienst her, und erstellt ihn bei Bedarf.

[Android.Runtime.Register("bindService", "(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z", "GetBindService_Landroid_content_Intent_Landroid_content_ServiceConnection_IHandler")]
public abstract bool BindService (Android.Content.Intent service, Android.Content.IServiceConnection conn, Android.Content.Bind flags);
[<Android.Runtime.Register("bindService", "(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z", "GetBindService_Landroid_content_Intent_Landroid_content_ServiceConnection_IHandler")>]
abstract member BindService : Android.Content.Intent * Android.Content.IServiceConnection * Android.Content.Bind -> bool

Parameter

service
Intent

Gibt den Dienst an, mit dem eine Verbindung hergestellt werden soll. Die Absicht muss einen expliziten Komponentennamen angeben.

conn
IServiceConnection

Empfängt Informationen, wenn der Dienst gestartet und beendet wird. Dies muss ein gültiges ServiceConnection-Objekt sein. Es darf nicht NULL sein.

flags
Bind

Vorgangsoptionen für die Bindung. Kann sein: <ul><li>0 <li><#BIND_AUTO_CREATEli<>#BIND_DEBUG_UNBINDli li><#BIND_NOT_FOREGROUNDli>#BIND_ABOVE_CLIENT<li>#BIND_NOT_PERCEPTIBLE<>#BIND_ALLOW_OOM_MANAGEMENT<#BIND_IMPORTANT#BIND_WAIVE_PRIORITY>><<>#BIND_ADJUST_WITH_ACTIVITY<li/ul>#BIND_INCLUDE_CAPABILITIES<>

Gibt zurück

true , wenn das System gerade einen Dienst einführt, an den Ihr Client die Berechtigung für die Bindung hat; false , wenn das System den Dienst nicht finden konnte oder Wenn Ihr Client nicht über die Berechtigung zum Binden an ihn verfügt. Unabhängig vom Rückgabewert sollten Sie später aufrufen #unbindService , um die Verbindung freizugeben.

Attribute

Ausnahmen

Hinweise

Stellt eine Verbindung mit einem Anwendungsdienst her, und erstellt ihn bei Bedarf. Dadurch wird eine Abhängigkeit zwischen Ihrer Anwendung und dem Dienst definiert. Der angegebene <var>conn</var> empfängt das Dienstobjekt, wenn es erstellt wird, und wird benachrichtigt, wenn es stirbt und neu gestartet wird. Der Dienst wird nur so lange als vom System benötigt betrachtet, wie der aufrufende Kontext vorhanden ist. Wenn es sich bei diesem Kontext beispielsweise um eine Aktivität handelt, die beendet wird, muss der Dienst erst dann ausgeführt werden, wenn die Aktivität fortgesetzt wird.

Wenn der Dienst keine Bindung unterstützt, wird er möglicherweise von seiner android.app.Service#onBind(Intent) onBind() -Methode zurückgegebennull. Wenn dies ServiceConnection#onNullBinding(ComponentName) onNullBinding() der Fall ist, wird die ServiceConnection-Methode anstelle von ServiceConnection#onServiceConnected(ComponentName, IBinder) onServiceConnected()aufgerufen.

<p class="note"><b>Hinweis:</b> Diese Methode <em>kann nicht< von> einer BroadcastReceiver Komponente aufgerufen werden. Ein Muster, mit dem Sie von einem BroadcastReceiver zu einem Dienst kommunizieren können, besteht darin, mit den Argumenten aufzurufen #startService , die den zu sendenden Befehl enthalten, wobei der Dienst seine android.app.Service#stopSelf(int) -Methode aufruft, wenn er diesen Befehl ausgeführt hat. Eine Abbildung hierzu finden Sie in der API-Demo App/Service/Service Start Arguments Controller. Es ist jedoch in Ordnung, diese Methode von einem BroadcastReceiver zu verwenden, der bei #registerReceiverregistriert wurde, da die Lebensdauer dieses BroadcastReceiver an ein anderes Objekt gebunden ist (das Objekt, das es registriert hat).

Diese Methode akzeptiert nur ein int-Typflag, um ein langes Typflag zu übergeben, rufen Sie stattdessen auf #bindService(Intent, ServiceConnection, BindServiceFlags) .

Java-Dokumentation für android.content.Context.bindService(android.content.Intent, android.content.ServiceConnection, int).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Weitere Informationen

Gilt für:

BindService(Intent, IServiceConnection, Context+BindServiceFlags)

[Android.Runtime.Register("bindService", "(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;)Z", "GetBindService_Landroid_content_Intent_Landroid_content_ServiceConnection_Landroid_content_Context_BindServiceFlags_Handler", ApiSince=34)]
public virtual bool BindService (Android.Content.Intent service, Android.Content.IServiceConnection conn, Android.Content.Context.BindServiceFlags flags);
[<Android.Runtime.Register("bindService", "(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;)Z", "GetBindService_Landroid_content_Intent_Landroid_content_ServiceConnection_Landroid_content_Context_BindServiceFlags_Handler", ApiSince=34)>]
abstract member BindService : Android.Content.Intent * Android.Content.IServiceConnection * Android.Content.Context.BindServiceFlags -> bool
override this.BindService : Android.Content.Intent * Android.Content.IServiceConnection * Android.Content.Context.BindServiceFlags -> bool

Parameter

service
Intent

Gibt zurück

Attribute

Gilt für:

BindService(Intent, Bind, IExecutor, IServiceConnection)

#bindService(Intent, ServiceConnection, int) bindService(Intent, ServiceConnection, int) Identisch mit dem Executor zum Steuern von ServiceConnection-Rückrufen.

[Android.Runtime.Register("bindService", "(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z", "GetBindService_Landroid_content_Intent_ILjava_util_concurrent_Executor_Landroid_content_ServiceConnection_Handler", ApiSince=29)]
public virtual bool BindService (Android.Content.Intent service, Android.Content.Bind flags, Java.Util.Concurrent.IExecutor executor, Android.Content.IServiceConnection conn);
[<Android.Runtime.Register("bindService", "(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z", "GetBindService_Landroid_content_Intent_ILjava_util_concurrent_Executor_Landroid_content_ServiceConnection_Handler", ApiSince=29)>]
abstract member BindService : Android.Content.Intent * Android.Content.Bind * Java.Util.Concurrent.IExecutor * Android.Content.IServiceConnection -> bool
override this.BindService : Android.Content.Intent * Android.Content.Bind * Java.Util.Concurrent.IExecutor * Android.Content.IServiceConnection -> bool

Parameter

service
Intent
flags
Bind
executor
IExecutor

Rückrufe für ServiceConnection werden auf dem Executor aufgerufen. Muss dieselbe instance für die gleiche instance von ServiceConnection verwenden.

Gibt zurück

Das Ergebnis der Bindung, wie in #bindService(Intent, ServiceConnection, int) bindService(Intent, ServiceConnection, int)beschrieben.

Attribute

Hinweise

#bindService(Intent, ServiceConnection, int) bindService(Intent, ServiceConnection, int) Identisch mit dem Executor zum Steuern von ServiceConnection-Rückrufen.

Diese Methode akzeptiert nur ein 32-Bit-Flag, um stattdessen ein 64-Bit-Flag zu übergeben.#bindService(Intent, BindServiceFlags, Executor, ServiceConnection)

Java-Dokumentation für android.content.Context.bindService(android.content.Intent, int, java.util.concurrent.Executor, android.content.ServiceConnection).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

BindService(Intent, Context+BindServiceFlags, IExecutor, IServiceConnection)

[Android.Runtime.Register("bindService", "(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z", "GetBindService_Landroid_content_Intent_Landroid_content_Context_BindServiceFlags_Ljava_util_concurrent_Executor_Landroid_content_ServiceConnection_Handler", ApiSince=34)]
public virtual bool BindService (Android.Content.Intent service, Android.Content.Context.BindServiceFlags flags, Java.Util.Concurrent.IExecutor executor, Android.Content.IServiceConnection conn);
[<Android.Runtime.Register("bindService", "(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z", "GetBindService_Landroid_content_Intent_Landroid_content_Context_BindServiceFlags_Ljava_util_concurrent_Executor_Landroid_content_ServiceConnection_Handler", ApiSince=34)>]
abstract member BindService : Android.Content.Intent * Android.Content.Context.BindServiceFlags * Java.Util.Concurrent.IExecutor * Android.Content.IServiceConnection -> bool
override this.BindService : Android.Content.Intent * Android.Content.Context.BindServiceFlags * Java.Util.Concurrent.IExecutor * Android.Content.IServiceConnection -> bool

Parameter

service
Intent
executor
IExecutor

Gibt zurück

Attribute

Gilt für: