API Reference

This page provides a detailed reference for the public APIs of JsBridge for both Java (Android) and JavaScript.

Java API (BridgeWebView / BridgeHelper)

These methods are available on the BridgeWebView instance in your Android code.


registerHandler(String handlerName, BridgeHandler handler)

Registers a Java handler that can be called from JavaScript.

  • handlerName: A String that JavaScript will use to identify this handler.
  • handler: An implementation of the BridgeHandler interface, which has a single method void handler(String data, OnBridgeCallback callBackFunction).

callHandler(String handlerName, String data, OnBridgeCallback callBack)

Calls a JavaScript handler registered with the given name.

  • handlerName: The name of the JavaScript handler to call.
  • data: A String payload to send to the JavaScript handler. Often a JSON string.
  • callBack: An OnBridgeCallback that will be invoked with the response data from JavaScript.

callHandlerPersistent(String handlerName, String data, OnBridgeCallback callBack)

Calls a JavaScript handler and establishes a persistent callback that can be invoked multiple times.

  • Parameters: Same as callHandler.
  • Behavior: The callBack function is not removed after the first invocation.

sendToWeb(String data)

Sends data to the default JavaScript handler (the one registered with bridge.init).

  • data: A String payload to send.

sendToWeb(String data, OnBridgeCallback responseCallback)

Sends data to the default JavaScript handler and provides a callback for a response.

  • data: A String payload to send.
  • responseCallback: An OnBridgeCallback for the JavaScript handler's response.

setDefaultHandler(BridgeHandler handler)

Registers a default handler to process messages sent from JavaScript via bridge.doSend.

  • handler: The default BridgeHandler implementation.

JavaScript API (window.WebViewJavascriptBridge)

These methods are available on the WebViewJavascriptBridge object inside the WebView.


init(function(message, responseCallback))

Initializes the bridge and sets a default message handler.

  • function(message, responseCallback): The callback function to handle messages sent from Java via sendToWeb. It receives the message payload and a callback to send a response.

registerHandler(handlerName, function(data, responseCallback))

Registers a JavaScript handler that can be called from Java.

  • handlerName: A String name for the handler.
  • function(data, responseCallback): The function to execute. It receives data from Java and a callback to send a response.

callHandler(handlerName, data, function(responseData))

Calls a registered Java handler.

  • handlerName: The String name of the Java handler.
  • data: A JavaScript Object or String to be sent to Java.
  • function(responseData): A callback that will be executed with the response from the Java handler.

callHandlerPersistent(handlerName, data, function(responseData))

Calls a Java handler and establishes a persistent callback that Java can invoke multiple times.

  • Parameters: Same as callHandler.
  • Behavior: The callback function is not removed after Java invokes it the first time.

doSend(data, function(responseData))

Sends data to the default Java handler (the one set by setDefaultHandler).

  • data: A JavaScript Object or String payload.
  • function(responseData): A callback for the Java handler's response.

registerPersistentCallback(callbackId, function(data))

Manually registers a named, persistent callback function.

  • callbackId: A unique String ID for this callback.
  • function(data): The callback function.

removePersistentCallback(callbackId)

Removes a manually registered persistent callback to prevent memory leaks.

  • callbackId: The String ID of the callback to remove.