鴻蒙OS IRemoteObject

2022-04-26 18:04 更新

IRemoteObject

public interface IRemoteObject

必須由服務(wù)提供者和用戶實現(xiàn)的遠(yuǎn)程對象接口。

該接口可用于查詢或獲取接口描述符、添加或刪除死亡通知、將對象狀態(tài)轉(zhuǎn)儲到特定文件以及發(fā)送消息。

嵌套類摘要

修飾符和類型 接口 描述
static interface IRemoteObject.DeathRecipient 表示訂閱 RemoteObject 的死亡通知的 IRemoteObject 的內(nèi)部類。

字段摘要

修飾符和類型 字段 描述
static int DUMP_TRANSACTION 指示轉(zhuǎn)儲操作的消息代碼。
static int INTERFACE_TRANSACTION 指示傳輸?shù)南⒋a。
static int MAX_TRANSACTION_ID 表示有效消息代碼的最大值。
static int MIN_TRANSACTION_ID 指示有效消息代碼的最小值。
static int PING_TRANSACTION 指示 Ping 操作的消息代碼。

方法總結(jié)

修飾符和類型 方法 描述
boolean addDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags) 注冊用于接收遠(yuǎn)程對象死亡通知的回調(diào)。
void dump(FileDescriptor fd, String[] args) 將對象狀態(tài)轉(zhuǎn)儲到特定文件。
String getInterfaceDescriptor() 獲取對象的接口描述符。
boolean isObjectDead() 檢查對象是否死亡。
IRemoteBroker queryLocalInterface(String descriptor) 查詢接口描述。
boolean removeDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags) 取消注冊用于接收遠(yuǎn)程對象死亡通知的回調(diào)。
boolean sendRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) 以同步或異步模式向?qū)Φ冗M(jìn)程發(fā)送 MessageParcel 消息。
void slowPathDump(FileDescriptor fd, String[] args) 將數(shù)據(jù)異步轉(zhuǎn)儲到指定文件。

字段詳細(xì)信息

DUMP_TRANSACTION

static final int DUMP_TRANSACTION

指示轉(zhuǎn)儲操作的消息代碼。

INTERFACE_TRANSACTION

static final int INTERFACE_TRANSACTION

指示傳輸?shù)南⒋a。

MAX_TRANSACTION_ID

static final int MAX_TRANSACTION_ID

表示有效消息代碼的最大值。

此常量用于檢查操作的有效性。

MIN_TRANSACTION_ID

static final int MIN_TRANSACTION_ID

指示有效消息代碼的最小值。

此常量用于檢查操作的有效性。

PING_TRANSACTION

static final int PING_TRANSACTION

指示 Ping 操作的消息代碼。

方法詳情

queryLocalInterface

IRemoteBroker queryLocalInterface(String descriptor)

查詢接口描述。

為服務(wù)提供者使用的接口返回一個有效的 IRemoteBroker 對象; 服務(wù)用戶使用的接口返回null,表示該接口不是本地接口。

參數(shù):

參數(shù)名稱 參數(shù)描述
descriptor 表示接口描述符的字符串。

返回:

返回綁定到指定接口描述符的 IRemoteBroker 對象。

sendRequest

boolean sendRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) throws RemoteException

以同步或異步模式向?qū)Φ冗M(jìn)程發(fā)送 MessageParcel 消息。

如果選項設(shè)置了異步模式,則立即返回響應(yīng)。 如果選項設(shè)置為同步模式,接口將等待對等進(jìn)程的響應(yīng),直到請求超時。 用戶必須準(zhǔn)備回復(fù)以接收對等進(jìn)程給出的執(zhí)行結(jié)果。

參數(shù):

參數(shù)名稱 參數(shù)描述
code 表示消息代碼,由通信雙方確定。 如果接口是由IDL工具生成的,則消息代碼由IDL自動生成。
data 指示發(fā)送到對等進(jìn)程的 MessageParcel 對象。
reply 表示對等進(jìn)程返回的MessageParcel 對象。
option 指示發(fā)送消息的同步或異步模式。

返回:

如果方法調(diào)用成功,則返回 true; 否則返回 false。

Throws:

Throw名稱 Throw描述
RemoteException 如果方法調(diào)用失敗,則拋出此異常。

addDeathRecipient

boolean addDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags)

注冊用于接收遠(yuǎn)程對象死亡通知的回調(diào)。

如果與 RemoteProxy 對象匹配的遠(yuǎn)程對象進(jìn)程死亡,則調(diào)用此方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
recipient 表示要注冊的回調(diào)。
flags 表示死亡通知的標(biāo)志。

返回:

如果回調(diào)注冊成功,則返回 true; 否則返回 false。

removeDeathRecipient

boolean removeDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags)

取消注冊用于接收遠(yuǎn)程對象死亡通知的回調(diào)。

參數(shù):

參數(shù)名稱 參數(shù)描述
recipient 指示要注銷的回調(diào)。
flags 表示死亡通知的標(biāo)志。

返回:

如果回調(diào)注銷成功,則返回 true; 否則返回 false。

getInterfaceDescriptor

String getInterfaceDescriptor()

獲取對象的接口描述符。

接口描述符是一個字符串。

返回:

返回接口描述符。

dump

void dump(FileDescriptor fd, String[] args) throws RemoteException

將對象狀態(tài)轉(zhuǎn)儲到特定文件。

參數(shù):

參數(shù)名稱 參數(shù)描述
fd 表示目標(biāo)文件的描述符。
args 以字符串形式表示該方法的參數(shù)。

Throws:

Throw名稱 Throw描述
RemoteException 如果轉(zhuǎn)儲失敗,則引發(fā)此異常。

slowPathDump

void slowPathDump(FileDescriptor fd, String[] args) throws RemoteException

將數(shù)據(jù)異步轉(zhuǎn)儲到指定文件。

此方法僅適用于同一設(shè)備上的數(shù)據(jù)轉(zhuǎn)儲。

參數(shù):

參數(shù)名稱 參數(shù)描述
fd 表示目標(biāo)文件的文件描述符。
args 指示要轉(zhuǎn)儲的參數(shù)(字符串?dāng)?shù)組)。

Throws:

Throw名稱 Throw描述
RemoteException 如果轉(zhuǎn)儲命令發(fā)送失敗或轉(zhuǎn)儲過程中發(fā)生錯誤,則拋出此異常。

isObjectDead

boolean isObjectDead()

檢查對象是否死亡。

返回:

如果對象已死,則返回 true; 否則返回 false。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號