Поделиться через


Binder Класс

Определение

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

[Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)]
public class Binder : Java.Lang.Object, Android.OS.IBinder, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/os/Binder", DoNotGenerateAcw=true)>]
type Binder = class
    inherit Object
    interface IBinder
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
Binder
Атрибуты
Реализации

Комментарии

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder Этот класс представляет собой реализацию IBinder, которая обеспечивает стандартную локальную реализацию такого объекта.

Большинство разработчиков не реализуют этот класс напрямую, используя средство помощника для описания требуемого интерфейса, создав соответствующий подкласс Binder. Однако можно наследовать непосредственно от Binder, чтобы реализовать собственный пользовательский протокол RPC или просто создать экземпляр необработанного объекта Binder напрямую для использования в качестве маркера, который можно совместно использовать в процессах.

Этот класс является просто базовым примитивом IPC; он не влияет на жизненный цикл приложения и действителен только до тех пор, пока созданный процесс продолжает выполняться. Чтобы использовать это правильно, необходимо сделать это в контексте компонента приложения верхнего уровня (aandroid.app.Serviceandroid.app.Activity, илиandroid.content.ContentProvider), который позволяет системе знать, что процесс должен оставаться запущенным.

Необходимо помнить о ситуациях, в которых процесс может уйти, и поэтому вам потребуется повторно создать новый привязыватель и повторно подключить его при запуске процесса. Например, если вы используете это в android.app.Activityрамках процесса, процесс действия может быть убит в любой момент, когда действие не запущено; если действие будет создано позже повторно, вам потребуется создать новый привязыватель и вернуть его обратно в правильное место. Необходимо знать, что процесс может быть запущен по другой причине (например, для получения трансляции), которая не будет включать повторное создание действия и, следовательно, выполнение действия его код для создания нового привязчика.

Документация по Java для android.os.Binder.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

Binder()

Конструктор по умолчанию просто инициализирует объект.

Binder(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Binder(String)

Конструктор для создания необработанного объекта Binder (токена) вместе с дескриптором.

Свойства

CallingPid

Возвращает идентификатор процесса, отправляющего текущую транзакцию, которая обрабатывается.

CallingUid

Возвращает идентификатор пользовательского интерфейса Linux, назначенный процессу, который отправил текущую транзакцию, которая обрабатывается.

CallingUidOrThrow

Возвращает идентификатор пользовательского интерфейса Linux, назначенный процессу, который отправил транзакцию, которая в настоящее время обрабатывается.

CallingUserHandle

Верните userHandle, назначенный процессу, который отправил текущую транзакцию, которая обрабатывается.

CallingWorkSourceUid

Возвращает рабочий источник, заданный вызывающим абонентом.

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
InterfaceDescriptor

Реализация по умолчанию возвращает пустое имя интерфейса.

IsBinderAlive

Добавление

        Note that if you're calling on a local binder, this always returns true
        because your process is alive if you're calling it.
JniIdentityHashCode

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
JniPeerMembers

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

PeerReference

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

AttachInterface(IInterface, String)

Удобный метод для связывания определенного интерфейса с binder.

ClearCallingIdentity()

Сброс удостоверения входящего IPC в текущем потоке.

ClearCallingWorkSource()

Очищает источник работы в этом потоке.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
Dispose(Boolean)

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
Dump(FileDescriptor, PrintWriter, String[])

Печать состояния объекта в заданном потоке.

Dump(FileDescriptor, String[])

Реализовано для вызова более удобной версии #dump(FileDescriptor, PrintWriter, String[]).

DumpAsync(FileDescriptor, String[])

Например #dump(FileDescriptor, String[]), но гарантирует, что целевой объект выполняется асинхронно.

Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
FlushPendingCommands()

Удалите все команды Binder, ожидающие в текущем потоке, до драйвера ядра.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
JoinThreadPool()

Добавьте вызывающий поток в пул потоков IPC.

LinkToDeath(IBinderDeathRecipient, Int32)

Локальная реализация — это no-op.

Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
OnTransact(Int32, Parcel, Parcel, Int32)

Реализация по умолчанию — это заглушка, которая возвращает значение false.

PingBinder()

Реализация по умолчанию всегда возвращает значение true. Если вы получили здесь, объект жив.

QueryLocalInterface(String)

Используйте сведения, предоставленные для #attachInterface attachInterface() возврата связанного IInterface , если оно соответствует запрошенной дескриптору.

RestoreCallingIdentity(Int64)

Восстановите удостоверение входящего IPC в текущем потоке обратно в ранее возвращаемое #clearCallingIdentityудостоверение.

RestoreCallingWorkSource(Int64)

Восстанавливает рабочий источник в этом потоке с помощью маркера, возвращаемого #setCallingWorkSourceUid(int) или #clearCallingWorkSource().

SetCallingWorkSourceUid(Int32)

Задает рабочий источник для этого потока.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
Transact(Int32, Parcel, Parcel, TransactionFlags)

Реализация по умолчанию перемножает посылки и вызовы вTransact.

UnlinkToDeath(IBinderDeathRecipient, Int32)

Локальная реализация — это no-op.

UnregisterFromRuntime()

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
IJavaPeerable.Finalized()

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

GetJniTypeName(IJavaPeerable)

Базовый класс для ремотируемого объекта, основная часть упрощенного механизма вызова удаленной процедуры, определенного .IBinder

Применяется к