# WebMessagePort.WebMessageCallback

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# WebMessageCallback

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/webkit/WebMessagePort.WebMessageCallback "View this page in Java")  

```
abstract class WebMessageCallback
```

|---|------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                       ||
| ↳ | [android.webkit.WebMessagePort.WebMessageCallback](https://developer.android.com/reference/kotlin/android/webkit/WebMessagePort.WebMessageCallback#) |

The listener for handling MessagePort events. The message callback methods are called on the main thread. If the embedder application wants to receive the messages on a different thread, it can do this by passing a Handler in[WebMessagePort.setWebMessageCallback(WebMessageCallback, Handler)](https://developer.android.com/reference/kotlin/android/webkit/WebMessagePort#setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback,%20android.os.Handler)). In the latter case, the application should be extra careful for thread safety since WebMessagePort methods should be called on main thread.

## Summary

|                                                                   Public constructors                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [WebMessageCallback](https://developer.android.com/reference/kotlin/android/webkit/WebMessagePort.WebMessageCallback#WebMessageCallback())`()` <br /> |

|                                                                                                                                                                                                                                                              Public methods                                                                                                                                                                                                                                                              ||
|----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| open[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onMessage](https://developer.android.com/reference/kotlin/android/webkit/WebMessagePort.WebMessageCallback#onMessage(android.webkit.WebMessagePort,%20android.webkit.WebMessage))`(`port:` `[WebMessagePort](https://developer.android.com/reference/kotlin/android/webkit/WebMessagePort)!`, `message:` `[WebMessage](https://developer.android.com/reference/kotlin/android/webkit/WebMessage)!`)` Message callback for receiving onMessage events. |

## Public constructors

### WebMessageCallback

```
WebMessageCallback()
```

## Public methods

### onMessage

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
open fun onMessage(
    port: WebMessagePort!, 
    message: WebMessage!
): Unit
```

Message callback for receiving onMessage events.

|                                                                           Parameters                                                                           ||
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| `port`    | [WebMessagePort](https://developer.android.com/reference/kotlin/android/webkit/WebMessagePort)!:the WebMessagePort that the message is destined for |
| `message` | [WebMessage](https://developer.android.com/reference/kotlin/android/webkit/WebMessage)!:the message from the entangled port.                        |