JavaScriptReplyProxy


@UiThread
public abstract class JavaScriptReplyProxy


This class represents the JavaScript object injected by WebViewCompat#addWebMessageListener. An instance will be given by WebMessageListener#onPostMessage. The app can use postMessage to talk to the JavaScript context.

There is a 1:1 relationship between this object and the JavaScript object in a frame.

Summary

Public methods

abstract void
@RequiresFeature(name = WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
postMessage(@NonNull byte[] arrayBuffer)

Post a ArrayBuffer message to the injected JavaScript object which sent this JavaScriptReplyProxy.

abstract void
@RequiresFeature(name = WebViewFeature.WEB_MESSAGE_LISTENER, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
postMessage(@NonNull String message)

Post a String message to the injected JavaScript object which sent this .

Public methods

postMessage

Added in 1.8.0
@RequiresFeature(name = WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
public abstract void postMessage(@NonNull byte[] arrayBuffer)

Post a ArrayBuffer message to the injected JavaScript object which sent this JavaScriptReplyProxy. Be aware that large byte buffers can lead to out-of-memory crashes on low-end devices.

Parameters
@NonNull byte[] arrayBuffer

The ArrayBuffer to send to the JavaScript context. An empty ArrayBuffer is supported.

postMessage

Added in 1.3.0
@RequiresFeature(name = WebViewFeature.WEB_MESSAGE_LISTENER, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
public abstract void postMessage(@NonNull String message)

Post a String message to the injected JavaScript object which sent this .

Parameters
@NonNull String message

The String data to send to the JavaScript context.