# MessagePortClient

Artifact: [androidx.javascriptengine:javascriptengine](https://developer.android.com/jetpack/androidx/releases/javascriptengine) [View Source](https://cs.android.com/search?q=file:androidx/javascriptengine/MessagePortClient.java+class:androidx.javascriptengine.MessagePortClient) Added in [1.1.1](https://developer.android.com/jetpack/androidx/releases/javascriptengine#1.1.1)

*** ** * ** ***


```
public interface MessagePortClient
```

<br />

*** ** * ** ***

Interface for handling messages received from the other end of a `https://developer.android.com/reference/androidx/javascriptengine/MessagePort` channel.

A `https://developer.android.com/reference/androidx/javascriptengine/MessagePortClient` implementation must be provided when creating a message channel using `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptIsolate#createMessageChannel(java.lang.String,java.util.concurrent.Executor,androidx.javascriptengine.MessagePortClient)`, and its methods are invoked on the specified `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

A reference to a MessagePortClient is kept alive by its associated local `https://developer.android.com/reference/androidx/javascriptengine/MessagePort`, which in turn is kept alive so long as the message channel is alive.

A client may be notified of multiple messages throughout its lifetime.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/javascriptengine/MessagePortClient#onMessage(androidx.javascriptengine.Message)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/javascriptengine/Message message)` Called when a `https://developer.android.com/reference/androidx/javascriptengine/Message` is received by the port. |

## Public methods

### onMessage

Added in [1.1.1](https://developer.android.com/jetpack/androidx/releases/javascriptengine#1.1.1)

```
abstract void onMessage(@NonNull Message message)
```

Called when a `https://developer.android.com/reference/androidx/javascriptengine/Message` is received by the port.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/javascriptengine/Message message` | The `https://developer.android.com/reference/androidx/javascriptengine/Message` that has been received by the port. |