Binder Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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.Activity
atau 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 . |
Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
InterfaceDescriptor |
Implementasi default mengembalikan nama antarmuka kosong. |
IsBinderAlive |
Untuk ditambahkan
|
JniIdentityHashCode |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
JniPeerMembers |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
PeerReference |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
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 |
Dispose(Boolean) |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
Dump(FileDescriptor, PrintWriter, String[]) |
Cetak status objek ke dalam aliran yang diberikan. |
Dump(FileDescriptor, String[]) |
Diimplementasikan untuk memanggil versi |
DumpAsync(FileDescriptor, String[]) |
Seperti |
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 |
RestoreCallingIdentity(Int64) |
Pulihkan identitas IPC masuk pada utas saat ini kembali ke identitas sebelumnya yang dikembalikan oleh |
RestoreCallingWorkSource(Int64) |
Memulihkan sumber kerja pada utas ini menggunakan token yang dikembalikan oleh |
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 |
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 |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
IJavaPeerable.Finalized() |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
IJavaPeerable.JniManagedPeerState |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |
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 |
GetJniTypeName(IJavaPeerable) |
Kelas dasar untuk objek yang dapat diremobilitas, bagian inti dari mekanisme panggilan prosedur jarak jauh ringan yang ditentukan oleh |