|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectandroid.os.Binder
public class Binder
Base class for a remotable object, the core part of a lightweight
remote procedure call mechanism defined by IBinder.
This class is an implementation of IBinder that provides
the standard support creating a local implementation of such an object.
Most developers will not implement this class directly, instead using the aidl tool to describe the desired interface, having it generate the appropriate Binder subclass. You can, however, derive directly from Binder to implement your own custom RPC protocol or simply instantiate a raw Binder object directly to use as a token that can be shared across processes.
IBinder| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface android.os.IBinder |
|---|
IBinder.DeathRecipient |
| Field Summary |
|---|
| Fields inherited from interface android.os.IBinder |
|---|
DUMP_TRANSACTION, FIRST_CALL_TRANSACTION, FLAG_ONEWAY, INTERFACE_TRANSACTION, LAST_CALL_TRANSACTION, PING_TRANSACTION |
| Constructor Summary | |
|---|---|
Binder()
Default constructor initializes the object. |
|
| Method Summary | |
|---|---|
void |
attachInterface(IInterface owner,
String descriptor)
Convenience method for associating a specific interface with the Binder. |
static long |
clearCallingIdentity()
Reset the identity of the incoming IPC to the local process. |
protected void |
dump(FileDescriptor fd,
PrintWriter fout,
String[] args)
Print the object's state into the given stream. |
protected void |
finalize()
Called by the virtual machine when there are no longer any (non-weak) references to the receiver. |
static void |
flushPendingCommands()
Flush any Binder commands pending in the current thread to the kernel driver. |
static int |
getCallingPid()
Return the ID of the process that sent you the current transaction that is being processed. |
static int |
getCallingUid()
Return the ID of the user assigned to the process that sent you the current transaction that is being processed. |
String |
getInterfaceDescriptor()
Default implementation returns an empty interface name. |
boolean |
isBinderAlive()
Check to see if the process that the binder is in is still alive. |
static void |
joinThreadPool()
Add the calling thread to the IPC thread pool. |
void |
linkToDeath(IBinder.DeathRecipient recipient,
int flags)
Local implementation is a no-op. |
protected boolean |
onTransact(int code,
Parcel data,
Parcel reply,
int flags)
Default implementation is a stub that returns false. |
boolean |
pingBinder()
Default implementation always returns true -- if you got here, the object is alive. |
IInterface |
queryLocalInterface(String descriptor)
Use information supplied to attachInterface() to return the associated IInterface if it matches the requested descriptor. |
static void |
restoreCallingIdentity(long token)
Restore the identity of the incoming IPC back to a previously identity that was returned by clearCallingIdentity(). |
boolean |
transact(int code,
Parcel data,
Parcel reply,
int flags)
Default implementation rewinds the parcels and calls onTransact. |
boolean |
unlinkToDeath(IBinder.DeathRecipient recipient,
int flags)
Local implementation is a no-op. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Binder()
| Method Detail |
|---|
public static final int getCallingPid()
public static final int getCallingUid()
public static final long clearCallingIdentity()
restoreCallingIdentity(long).getCallingPid(),
getCallingUid(),
restoreCallingIdentity(long)public static final void restoreCallingIdentity(long token)
clearCallingIdentity().
token - The opaque token that was previously returned by
clearCallingIdentity().clearCallingIdentity()public static final void flushPendingCommands()
public static final void joinThreadPool()
public void attachInterface(IInterface owner,
String descriptor)
public String getInterfaceDescriptor()
getInterfaceDescriptor in interface IBinderpublic boolean pingBinder()
pingBinder in interface IBinderpublic boolean isBinderAlive()
isBinderAlive in interface IBinderpublic IInterface queryLocalInterface(String descriptor)
queryLocalInterface in interface IBinder
protected boolean onTransact(int code,
Parcel data,
Parcel reply,
int flags)
throws RemoteException
If you want to call this, call transact().
RemoteException
protected void dump(FileDescriptor fd,
PrintWriter fout,
String[] args)
fd - The raw file descriptor that the dump is being sent to.fout - The file to which you should dump your state. This will be
closed for you after you return.args - additional arguments to the dump request.
public final boolean transact(int code,
Parcel data,
Parcel reply,
int flags)
throws RemoteException
transact in interface IBindercode - The action to perform. This should
be a number between IBinder.FIRST_CALL_TRANSACTION and
IBinder.LAST_CALL_TRANSACTION.data - Marshalled data to send to the target. Most not be null.
If you are not sending any data, you must create an empty Parcel
that is given here.reply - Marshalled data to be received from the target. May be
null if you are not interested in the return value.flags - Additional operation flags. Either 0 for a normal
RPC, or IBinder.FLAG_ONEWAY for a one-way RPC.
RemoteException
public void linkToDeath(IBinder.DeathRecipient recipient,
int flags)
linkToDeath in interface IBinderIBinder.unlinkToDeath(android.os.IBinder.DeathRecipient, int)
public boolean unlinkToDeath(IBinder.DeathRecipient recipient,
int flags)
unlinkToDeath in interface IBinderDeathRecipient.binderDied() method
will not be called. Returns false if the target IBinder has already
died, meaning the method has been (or soon will be) called.
protected void finalize()
throws Throwable
ObjectNote: The virtual machine assumes that the implementation in class Object is empty.
finalize in class ObjectThrowable - The virtual machine ignores any exceptions which are
thrown during finalization.
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||