| java.lang.Object | |
| ↳ | android.webkit.WebMessagePort |
The Java representation of the
HTML5 message ports.
A Message port represents one endpoint of a Message Channel. In Android
webview, there is no separate Message Channel object. When a message channel
is created, both ports are tangled to each other and started, and then
returned in a MessagePort array, see createWebMessageChannel()
for creating a message channel.
When a message port is first created or received via transfer, it does not
have a WebMessageCallback to receive web messages. The messages are queued until
a WebMessageCallback is set.
A message port should be closed when it is not used by the embedder application
anymore. A closed port cannot be transferred or cannot be reopened to send
messages. Close can be called multiple times.
When a port is transferred to JS, it cannot be used to send or receive messages
at the Java side anymore. Different from HTML5 Spec, a port cannot be transferred
if one of these has ever happened: i. a message callback was set, ii. a message was
posted on it. A transferred port cannot be closed by the application, since
the ownership is also transferred.
It is possible to transfer both ports of a channel to JS, for example for
communication between subframes.
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| WebMessagePort.WebMessageCallback | The listener for handling MessagePort events. | ||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Close the message port and free any resources associated with it.
| |||||||||||
Post a WebMessage to the entangled port.
| |||||||||||
Sets a callback to receive message events on the handler that is provided
by the application.
| |||||||||||
Sets a callback to receive message events on the main thread.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Close the message port and free any resources associated with it.
Post a WebMessage to the entangled port.
| message | the message from Java to JS. |
|---|
| IllegalStateException | If message port is already transferred or closed. |
|---|
Sets a callback to receive message events on the handler that is provided by the application.
| callback | the message callback. |
|---|---|
| handler | the handler to receive the message messages. |
Sets a callback to receive message events on the main thread.
| callback | the message callback. |
|---|