JSApi.java
1.06 KB
package com.polysoft.nafmii.webview;
import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.tencent.smtt.sdk.WebView;
public class JSApi {
private static final String TAG = JSApi.class.getName();
public static void callOnBack(WebView webView, String json) {
callJs(webView, "onBack", json);
}
public static void callOnRouteChange(WebView webView, String json) {
callJs(webView, "onRouteChange", json);
}
public static void callOnPushMessage(WebView webView, String json) {
callJs(webView, "onPushMessage", json);
}
public static void callOnEventMessage(WebView webView, String json) {
callJs(webView, "onEventMessage", json);
}
public static void callJs(WebView webView, String methodName, String json) {
String param = JSON.toJSONString(json);
String script = String.format("javascript:$api.%s(%s)", methodName, param);
webView.evaluateJavascript(script, value -> Log.d(TAG, String.format("JavaToJsinterface: callJs is %s result : %s", methodName, value)));
}
}