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.
| See also | |
|---|---|
addWebMessageListener |
Summary
Public methods |
|
|---|---|
abstract void |
@RequiresFeature(name = WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")Post a ArrayBuffer message to the injected JavaScript object which sent this |
abstract void |
@RequiresFeature(name = WebViewFeature.WEB_MESSAGE_LISTENER, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")Post a String message to the injected JavaScript object which sent this |
Public methods
postMessage
@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
@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 JavaScriptReplyProxy.