public abstract class WebMessagePort
extends Object
java.lang.Object | |
↳ | android.webkit.WebMessagePort |
所述的Java表示HTML5 message ports.发送消息端口表示消息信道中的一个端点。 在Android webview中,没有单独的消息通道对象。 当一个消息通道被创建时,两个端口相互缠结并开始,然后在MessagePort数组中返回,参见createWebMessageChannel()
创建消息通道。 当消息端口首次创建或通过传输接收时,它没有WebMessageCallback来接收Web消息。 消息排队,直到设置了WebMessageCallback。 消息端口在嵌入式应用程序不再使用时应该关闭。 关闭的端口不能转移或不能重新发送以发送消息。 关闭可以被多次调用。 当端口转移到JS时,它不能再用于在Java端发送或接收消息。 与HTML5 Spec不同的是,如果其中一个端口发生过,则不能转移端口:i。 消息回调被设置,ii。 一条消息被张贴在它上面。 转移的端口不能由应用程序关闭,因为所有权也被转移。 有可能将信道的两个端口转移到JS,例如用于子帧之间的通信。
Nested classes |
|
---|---|
class |
WebMessagePort.WebMessageCallback 用于处理MessagePort事件的侦听器。 |
Public methods |
|
---|---|
abstract void |
close() 关闭消息端口并释放与其关联的任何资源。 |
abstract void |
postMessage(WebMessage message) 将WebMessage发布到纠缠的端口。 |
abstract void |
setWebMessageCallback(WebMessagePort.WebMessageCallback callback, Handler handler) 将回调设置为在应用程序提供的处理程序上接收消息事件。 |
abstract void |
setWebMessageCallback(WebMessagePort.WebMessageCallback callback) 设置回调以在主线程上接收消息事件。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
void postMessage (WebMessage message)
将WebMessage发布到纠缠的端口。
Parameters | |
---|---|
message |
WebMessage : the message from Java to JS. |
Throws | |
---|---|
IllegalStateException |
If message port is already transferred or closed. |
void setWebMessageCallback (WebMessagePort.WebMessageCallback callback, Handler handler)
将回调设置为在应用程序提供的处理程序上接收消息事件。
Parameters | |
---|---|
callback |
WebMessagePort.WebMessageCallback : the message callback. |
handler |
Handler : the handler to receive the message messages. |
void setWebMessageCallback (WebMessagePort.WebMessageCallback callback)
设置回调以在主线程上接收消息事件。
Parameters | |
---|---|
callback |
WebMessagePort.WebMessageCallback : the message callback. |