这里是关于如何在人行横道XWalkView中用js调用java函数。 XWalkView的使用方法请参考answer。
参考资料:
crosswalk-calling-java-methods-with-javascript
XWalkView manual
下面是js调用java的过程,以及注意事项。
将此添加到 XWalkView 中的活动
webSettings.setJavaScriptEnabled(true);
mXWalkView.addJavascriptInterface(new JsInterface(), "NativeInterface");
而这个,你也让它成为一个类
public class JsInterface {
public JsInterface() {
}
@JavascriptInterface
public void act() {
//do something
}
}
在html页面中
<button onclick="NativeInterface.act()">Call Java Here</button>
当您导入 JavascriptInterface 时,请注意,确保您导入的是准确的。
import org.xwalk.core.JavascriptInterface;
不是这个,这是给webview的
import android.webkit.JavascriptInterface;
如果你导入这个,这将导致你在页面上操作时没有任何动作,并且在你的android studio中出现错误。
12-02 13:24:49.921 12376-12376/com.xxxxxx.app E/铬:
[错误:xwalk_autofill_client.cc(121)] 未实现
虚空 xwalk::XWalkAutofillClient::OnFirstUserGestureObserved()
通常当您导入 JavascriptInterface 时,第一个就是我们想要的,如下图所示。
但有时当您从 webview 更改为 XWalkView 时,您可能会忘记更改 JavascriptInterface。