鴻蒙OS IRemoteObject

2022-04-26 18:04 更新

IRemoteObject

  1. public interface IRemoteObject

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

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

嵌套類(lèi)摘要

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

字段摘要

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

方法總結(jié)

修飾符和類(lèi)型 方法 描述
boolean addDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags) 注冊(cè)用于接收遠(yuǎn)程對(duì)象死亡通知的回調(diào)。
void dump(FileDescriptor fd, String[] args) 將對(duì)象狀態(tài)轉(zhuǎn)儲(chǔ)到特定文件。
String getInterfaceDescriptor() 獲取對(duì)象的接口描述符。
boolean isObjectDead() 檢查對(duì)象是否死亡。
IRemoteBroker queryLocalInterface(String descriptor) 查詢接口描述。
boolean removeDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags) 取消注冊(cè)用于接收遠(yuǎn)程對(duì)象死亡通知的回調(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)儲(chǔ)到指定文件。

字段詳細(xì)信息

DUMP_TRANSACTION

static final int DUMP_TRANSACTION

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

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ù)提供者使用的接口返回一個(gè)有效的 IRemoteBroker 對(duì)象; 服務(wù)用戶使用的接口返回null,表示該接口不是本地接口。

參數(shù):

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

返回:

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

sendRequest

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

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

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

參數(shù):

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

返回:

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

Throws:

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

addDeathRecipient

boolean addDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags)

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

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

參數(shù):

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

返回:

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

removeDeathRecipient

boolean removeDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags)

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

參數(shù):

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

返回:

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

getInterfaceDescriptor

String getInterfaceDescriptor()

獲取對(duì)象的接口描述符。

接口描述符是一個(gè)字符串。

返回:

返回接口描述符。

dump

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

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

參數(shù):

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

Throws:

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

slowPathDump

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

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

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

參數(shù):

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

Throws:

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

isObjectDead

boolean isObjectDead()

檢查對(duì)象是否死亡。

返回:

如果對(duì)象已死,則返回 true; 否則返回 false。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)