public abstract class

JavaScriptReplyProxy

extends java.lang.Object

 java.lang.Object

↳androidx.webkit.JavaScriptReplyProxy

Subclasses:

JavaScriptReplyProxyImpl

Gradle dependencies

compile group: 'androidx.webkit', name: 'webkit', version: '1.5.0-alpha01'

  • groupId: androidx.webkit
  • artifactId: webkit
  • version: 1.5.0-alpha01

Artifact androidx.webkit:webkit:1.5.0-alpha01 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.webkit:webkit com.android.support:webkit

Overview

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

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

Summary

Constructors
publicJavaScriptReplyProxy()

This class cannot be created by applications.

Methods
public abstract voidpostMessage(java.lang.String message)

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

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public JavaScriptReplyProxy()

This class cannot be created by applications.

Methods

public abstract void postMessage(java.lang.String message)

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

Parameters:

message: The data to send to the JavaScript context.

Source

/*
 * Copyright 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.webkit;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresFeature;
import androidx.annotation.RestrictTo;

/**
 * This class represents the JavaScript object injected by {@link
 * WebViewCompat#addWebMessageListener(android.webkit.WebView, String, Set,
 * WebViewCompat.WebMessageListener) WebViewCompat#addWebMessageListener}. An instance will be given
 * by {@link WebViewCompat.WebMessageListener#onPostMessage(android.webkit.WebView,
 * WebMessageCompat, android.net.Uri, boolean, JavaScriptReplyProxy)
 * WebMessageListener#onPostMessage}. The app can use {@link #postMessage(String)} to talk to the
 * JavaScript context.
 *
 * <p>
 * There is a 1:1 relationship between this object and the JavaScript object in a frame.
 *
 * @see WebViewCompat#addWebMessageListener(android.webkit.WebView, String, Set,
 * WebViewCompat.WebMessageListener).
 */
public abstract class JavaScriptReplyProxy {
    /**
     * Post a String message to the injected JavaScript object which sent this {@link
     * JavaScriptReplyProxy}.
     *
     * @param message The data to send to the JavaScript context.
     */
    @RequiresFeature(name = WebViewFeature.WEB_MESSAGE_LISTENER,
            enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
    public abstract void postMessage(@NonNull String message);

    /**
     * This class cannot be created by applications.
     * @hide
     */
    @RestrictTo(RestrictTo.Scope.LIBRARY)
    public JavaScriptReplyProxy() {}
}