阅读(166) (3)

鸿蒙OS GeneralReceiver

2022-04-15 16:21:50 更新

GeneralReceiver

java.lang.Object

|---ohos.app.GeneralReceiver

public class GeneralReceiver
extends Object
implements Sequenceable

提供通用回调方法,用于在进程间通信 (IPC) 期间从其他进程接收结果。

可以创建一个子类实例,重写onReceive(int, ohos.utils.PacMap) 方法,将子类实例通过IPC发送给对端。 然后对端使用 sendResult(int, ohos.utils.PacMap) 将结果发回。

嵌套类摘要

从接口 ohos.utils.Sequenceable 继承的嵌套类/接口
Sequenceable.ProducerT

字段摘要

修饰符和类型 字段 描述
static Sequenceable.ProducerGeneralReceiver PRODUCER 从 Parcel 创建一个 GeneralReceiver 实例。

构造函数摘要

构造函数 描述
GeneralReceiver() 用于创建 EventHandler 为 null 的 GeneralReceiver 实例的构造函数。
GeneralReceiver(EventHandler handler) 用于创建带有 EventHandler 对象的 GeneralReceiver 实例的构造函数。

方法总结

修饰符和类型 方法 描述
boolean marshalling(Parcel out) 将 GeneralReceiver 对象编组为 Parcel。
protected void onReceive(int code, PacMap data) 收到结果
void sendResult(int resultCode, PacMap resultData) 将结果发送到当前的 GeneralReceiver。
boolean unmarshalling(Parcel in) 从 Parcel 中解组 GeneralReceiver 对象。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口 ohos.utils.Sequenceable 继承的方法
hasFileDescriptor

字段详细信息

PRODUCER

public static final Sequenceable.ProducerGeneralReceiver PRODUCER

从 Parcel 创建一个 GeneralReceiver 实例。

构造函数详细信息

GeneralReceiver

public GeneralReceiver()

用于创建 EventHandler 为 null 的 GeneralReceiver 实例的构造函数。

GeneralReceiver

public GeneralReceiver(EventHandler handler)

用于创建带有 EventHandler 对象的 GeneralReceiver 实例的构造函数。

参数:

参数名称 参数描述
handler 表示 EventHandler 对象。 如果该参数不为null,则在指定EventHandler的线程上调用onReceive(int, ohos.utils.PacMap)。 如果此参数为 null,则可以在任何线程上调用 onReceive(int, ohos.utils.PacMap)。

方法详情

sendResult

public void sendResult(int resultCode, PacMap resultData)

将结果发送到当前的 GeneralReceiver。

参数:

参数名称 参数描述
resultCode 表示您根据需要定义的自定义结果代码。
resultData 指示包含结果数据的 PacMap 对象。

onReceive

protected void onReceive(int code, PacMap data)

收到结果

您必须重写此方法

参数:

参数名称 参数描述
code 表示发送方发送的结果码。
data 指示包含发送方发送的结果数据的 PacMap 对象。

marshalling

public boolean marshalling(Parcel out)

将 GeneralReceiver 对象编组为 Parcel。

进程可以调用 unmarshalling(ohos.utils.Parcel) 方法从 Parcel 中解组 GeneralReceiver 对象以实现进程间通信 (IPC)。

指定者:

接口 Sequenceable 中的编组

参数:

参数名称 参数描述
out 指示用于编组的 Parcel 对象。

返回:

如果编组成功,则返回 true; 否则返回 false。

unmarshalling

public boolean unmarshalling(Parcel in)

从 Parcel 中解组 GeneralReceiver 对象。

指定者:

在接口 Sequenceable 中解组

参数:

参数名称 参数描述
in 指示用于解组的 Parcel 对象。

返回:

如果解组成功,则返回 true; 否则返回 false。