Bagikan melalui


Binder Kelas

Definisi

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh 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
Warisan
Binder
Atribut
Penerapan

Keterangan

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder. Kelas ini adalah implementasi IBinder yang menyediakan implementasi lokal standar dari objek tersebut.

Sebagian besar pengembang tidak akan mengimplementasikan kelas ini secara langsung, sebagai gantinya menggunakan alat aidl untuk menggambarkan antarmuka yang diinginkan, membuatnya menghasilkan subkelas Binder yang sesuai. Namun, Anda dapat memperoleh langsung dari Binder untuk menerapkan protokol RPC kustom Anda sendiri atau hanya membuat instans objek Binder mentah secara langsung untuk digunakan sebagai token yang dapat dibagikan di seluruh proses.

Kelas ini hanyalah primitif IPC dasar; tidak berdampak pada siklus hidup aplikasi, dan hanya berlaku selama proses yang membuatnya terus berjalan. Untuk menggunakan ini dengan benar, Anda harus melakukannya dalam konteks komponen aplikasi tingkat atas ( android.app.Service, , android.app.Activityatau android.content.ContentProvider) yang memungkinkan sistem tahu proses Anda harus tetap berjalan.

Anda harus mengingat situasi di mana proses Anda dapat hilang, dan dengan demikian mengharuskan Anda kemudian membuat ulang Binder baru dan melampirkannya kembali ketika proses dimulai lagi. Misalnya, jika Anda menggunakan ini dalam android.app.Activity, proses aktivitas Anda dapat dimatikan setiap kali aktivitas tidak dimulai; jika aktivitas kemudian dibuat ulang, Anda perlu membuat Binder baru dan menyerahkannya kembali ke tempat yang benar lagi; Anda perlu menyadari bahwa proses Anda mungkin dimulai karena alasan lain (misalnya untuk menerima siaran) yang tidak akan melibatkan pembuatan ulang aktivitas dan dengan demikian jalankan kodenya untuk membuat Binder baru.

Dokumentasi Java untuk android.os.Binder.

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Konstruktor

Binder()

Konstruktor default baru saja menginisialisasi objek.

Binder(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Binder(String)

Konstruktor untuk membuat objek Binder mentah (token) bersama dengan deskriptor.

Properti

CallingPid

Mengembalikan ID proses yang mengirimi Anda transaksi saat ini yang sedang diproses.

CallingUid

Kembalikan UID Linux yang ditetapkan ke proses yang mengirimi Anda transaksi saat ini yang sedang diproses.

CallingUidOrThrow

Mengembalikan UID Linux yang ditetapkan ke proses yang mengirim transaksi yang saat ini sedang diproses.

CallingUserHandle

Kembalikan UserHandle yang ditetapkan ke proses yang mengirimi Anda transaksi saat ini yang sedang diproses.

CallingWorkSourceUid

Mengembalikan sumber kerja yang ditetapkan oleh pemanggil.

Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
InterfaceDescriptor

Implementasi default mengembalikan nama antarmuka kosong.

IsBinderAlive

Untuk ditambahkan

        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

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
JniPeerMembers

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

PeerReference

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Metode

AttachInterface(IInterface, String)

Metode kenyamanan untuk mengaitkan antarmuka tertentu dengan Binder.

ClearCallingIdentity()

Reset identitas IPC masuk pada utas saat ini.

ClearCallingWorkSource()

Menghapus sumber kerja pada utas ini.

Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Dispose()

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
Dispose(Boolean)

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
Dump(FileDescriptor, PrintWriter, String[])

Cetak status objek ke dalam aliran yang diberikan.

Dump(FileDescriptor, String[])

Diimplementasikan untuk memanggil versi #dump(FileDescriptor, PrintWriter, String[])yang lebih nyaman .

DumpAsync(FileDescriptor, String[])

Seperti #dump(FileDescriptor, String[]), tetapi memastikan target dijalankan secara asinkron.

Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
FlushPendingCommands()

Bersihkan perintah Binder apa pun yang tertunda di utas saat ini ke driver kernel.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
JoinThreadPool()

Tambahkan utas panggilan ke kumpulan utas IPC.

LinkToDeath(IBinderDeathRecipient, Int32)

Implementasi lokal adalah no-op.

Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
OnTransact(Int32, Parcel, Parcel, Int32)

Implementasi default adalah stub yang mengembalikan false.

PingBinder()

Implementasi default selalu mengembalikan true -- jika Anda sampai di sini, objek masih hidup.

QueryLocalInterface(String)

Gunakan informasi yang disediakan untuk #attachInterface attachInterface() mengembalikan yang terkait IInterface jika cocok dengan deskriptor yang diminta.

RestoreCallingIdentity(Int64)

Pulihkan identitas IPC masuk pada utas saat ini kembali ke identitas sebelumnya yang dikembalikan oleh #clearCallingIdentity.

RestoreCallingWorkSource(Int64)

Memulihkan sumber kerja pada utas ini menggunakan token yang dikembalikan oleh #setCallingWorkSourceUid(int) atau #clearCallingWorkSource().

SetCallingWorkSourceUid(Int32)

Mengatur sumber kerja untuk utas ini.

SetHandle(IntPtr, JniHandleOwnership)

Handle Mengatur properti.

(Diperoleh dari Object)
ToArray<T>()

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
Transact(Int32, Parcel, Parcel, TransactionFlags)

Implementasi default memutar ulang paket dan panggilan onTransact.

UnlinkToDeath(IBinderDeathRecipient, Int32)

Implementasi lokal adalah no-op.

UnregisterFromRuntime()

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IJavaPeerable.Disposed()

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
IJavaPeerable.DisposeUnlessReferenced()

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
IJavaPeerable.Finalized()

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
IJavaPeerable.JniManagedPeerState

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

(Diperoleh dari Object)

Metode Ekstensi

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android.

JavaCast<TResult>(IJavaObject)

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

GetJniTypeName(IJavaPeerable)

Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh IBinder.

Berlaku untuk