鸿蒙OS GeneralReceiver
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。