Context.BindService 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.
Ü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, 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_CREATE
li<>#BIND_DEBUG_UNBIND
li li><#BIND_NOT_FOREGROUND
li>#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 #registerReceiver
registriert 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)
.
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
- conn
- IServiceConnection
- flags
- Context.BindServiceFlags
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.
- conn
- IServiceConnection
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)
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
- flags
- Context.BindServiceFlags
- executor
- IExecutor
- conn
- IServiceConnection
Gibt zurück
- Attribute