Context.BindService Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
BindService(Intent, IServiceConnection, Bind) |
Подключается к службе приложений, создавая ее при необходимости. |
BindService(Intent, IServiceConnection, Context+BindServiceFlags) | |
BindService(Intent, Bind, IExecutor, IServiceConnection) |
То же, что и |
BindService(Intent, Context+BindServiceFlags, IExecutor, IServiceConnection) |
BindService(Intent, IServiceConnection, Bind)
Подключается к службе приложений, создавая ее при необходимости.
[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
Параметры
- service
- Intent
Определяет службу для подключения. Намерение должно указывать явное имя компонента.
- conn
- IServiceConnection
Получает сведения о запуске и остановке службы. Это должен быть допустимый объект ServiceConnection; значение не должно иметь значение NULL.
- flags
- Bind
Параметры операции для привязки. Может быть: <ul<>li>0 <li<>#BIND_AUTO_CREATE
li li>#BIND_DEBUG_UNBIND
<li#BIND_NOT_FOREGROUND
><li>#BIND_ABOVE_CLIENT
<li li><#BIND_ALLOW_OOM_MANAGEMENT
li>#BIND_WAIVE_PRIORITY
<li><#BIND_IMPORTANT
li li><#BIND_ADJUST_WITH_ACTIVITY
li#BIND_NOT_PERCEPTIBLE
<>li li li/ul>#BIND_INCLUDE_CAPABILITIES
<>
Возвращаемое значение
true
если система находится в процессе создания службы, к которым у клиента есть разрешение на привязку; false
Значение , если системе не удалось найти службу или если у клиента нет разрешения на привязку к ней. Независимо от возвращаемого значения, позже следует вызвать метод #unbindService
, чтобы освободить подключение.
- Атрибуты
Исключения
Комментарии
Подключается к службе приложений, создавая ее при необходимости. Это определяет зависимость между приложением и службой. Данный <объект var>conn</var> получит объект службы при его создании и получит сообщение о том, что он умирает и перезапускается. Служба будет считаться требуемой системой только до тех пор, пока существует вызывающий контекст. Например, если этот контекст является остановленным действием, службе не потребуется продолжать работу, пока действие не будет возобновлено.
Если служба не поддерживает привязку, она может возвращать данные null
из своего android.app.Service#onBind(Intent) onBind()
метода. Если это так, метод ServiceConnection ServiceConnection#onNullBinding(ComponentName) onNullBinding()
будет вызван вместо ServiceConnection#onServiceConnected(ComponentName, IBinder) onServiceConnected()
.
<p class="note"><b>Примечание:</b> Этот метод <em>не может<> быть вызван из BroadcastReceiver
компонента. Шаблон, который можно использовать для взаимодействия из BroadcastReceiver со службой, заключается в вызове #startService
с аргументами, содержащими отправляемую команду, при этом служба вызывает свой android.app.Service#stopSelf(int)
метод при выполнении этой команды. Пример см. в демонстрации API Контроллер начальных аргументов приложения, службы и службы. Однако можно использовать этот метод из BroadcastReceiver, зарегистрированного в #registerReceiver
, так как время существования этого broadcastReceiver привязано к другому объекту (тому, который его зарегистрировал).
Этот метод принимает только флаг типа int, вместо этого для передачи флага длинного типа вызывается #bindService(Intent, ServiceConnection, BindServiceFlags)
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
См. также раздел
Применяется к
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
Параметры
- service
- Intent
- conn
- IServiceConnection
- flags
- Context.BindServiceFlags
Возвращаемое значение
- Атрибуты
Применяется к
BindService(Intent, Bind, IExecutor, IServiceConnection)
То же, что и #bindService(Intent, ServiceConnection, int)
bindService(Intent, ServiceConnection, int)
при использовании исполнителя для управления обратными вызовами ServiceConnection.
[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
Параметры
- service
- Intent
- flags
- Bind
- executor
- IExecutor
Обратные вызовы в ServiceConnection будут вызываться для исполнителя. Должен использовать один и тот же экземпляр ServiceConnection.
- conn
- IServiceConnection
Возвращаемое значение
Результат привязки, как описано в #bindService(Intent, ServiceConnection, int)
bindService(Intent, ServiceConnection, int)
.
- Атрибуты
Комментарии
То же, что и #bindService(Intent, ServiceConnection, int) bindService(Intent, ServiceConnection, int)
при использовании исполнителя для управления обратными вызовами ServiceConnection.
Этот метод принимает только 32-разрядный флаг, вместо этого вызовите для передачи флага #bindService(Intent, BindServiceFlags, Executor, ServiceConnection)
64 бит.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Применяется к
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
Параметры
- service
- Intent
- flags
- Context.BindServiceFlags
- executor
- IExecutor
- conn
- IServiceConnection
Возвращаемое значение
- Атрибуты