# WebMessagePortCompat.WebMessageCallbackCompat

# WebMessagePortCompat.WebMessageCallbackCompat

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

*** ** * ** ***

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

<br />

```
abstract class WebMessagePortCompat.WebMessageCallbackCompat
```

<br />

*** ** * ** ***

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[setWebMessageCallback](https://developer.android.com/reference/kotlin/androidx/webkit/WebMessagePortCompat#setWebMessageCallback(android.os.Handler,androidx.webkit.WebMessagePortCompat.WebMessageCallbackCompat)). 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                                                                         |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [WebMessageCallbackCompat](https://developer.android.com/reference/kotlin/androidx/webkit/WebMessagePortCompat.WebMessageCallbackCompat#WebMessageCallbackCompat())`()` |

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onMessage](https://developer.android.com/reference/kotlin/androidx/webkit/WebMessagePortCompat.WebMessageCallbackCompat#onMessage(androidx.webkit.WebMessagePortCompat,androidx.webkit.WebMessageCompat))`(port: `[WebMessagePortCompat](https://developer.android.com/reference/kotlin/androidx/webkit/WebMessagePortCompat)`, message: `[WebMessageCompat](https://developer.android.com/reference/kotlin/androidx/webkit/WebMessageCompat)`?)` Message callback for receiving onMessage events. |

## Public constructors

### WebMessageCallbackCompat

Added in 1.1.0  

```
WebMessageCallbackCompat()
```  

## Public functions

### onMessage

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

```
fun onMessage(port: WebMessagePortCompat, message: WebMessageCompat?): Unit
```

Message callback for receiving onMessage events.

This method is called only if[WEB_MESSAGE_CALLBACK_ON_MESSAGE](https://developer.android.com/reference/kotlin/androidx/webkit/WebViewFeature#WEB_MESSAGE_CALLBACK_ON_MESSAGE())is supported. You can check whether that flag is supported using[isFeatureSupported](https://developer.android.com/reference/kotlin/androidx/webkit/WebViewFeature#isFeatureSupported(java.lang.String)).  

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