Android在WebView中调用JavaScript函数我想打电话给一些javascript坐在一个html中运行的页。android webview..下面代码试图做的非常简单-从Android应用程序中,调用javascript函数具有一个测试消息,该函数反过来在Android应用程序中调用一个java函数,该应用程序通过TOS显示测试消息。这个javascript函数看起来如下:function testEcho(message){
window.JSInterface.doEchoTest(message);}在WebView中,我尝试调用javascript没有运气的方式有以下几种:myWebView.loadUrl("javascript:testEcho(Hello World!)");mWebView.loadUrl("javascript:(function () { " + "testEcho(Hello World!);" + "})()");我确实让javascript在WebViewmyWebView.getSettings().setJavaScriptEnabled(true);// register class containing methods to be exposed to JavaScriptmyWebView.
addJavascriptInterface(myJSInterface, "JSInterface");这里是Java班级,等级public class JSInterface{private WebView mAppView;public JSInterface (WebView appView) {
this.mAppView = appView;
}
public void doEchoTest(String echo){
Toast toast = Toast.makeText(mAppView.getContext(), echo, Toast.LENGTH_SHORT);
toast.show();
}}我花了很多时间搜索,看看我可能做错了什么。我发现的所有例子都使用这种方法。有人看到这里有什么不对劲吗?编辑:还有其他几个外部的javascript中引用和使用的文件。html会不会是问题所在?
3 回答
![?](http://img1.sycdn.imooc.com/5458464a00013eb602200220-100-100.jpg)
侃侃无极
TA贡献2051条经验 获得超10个赞
myWebView.loadUrl("javascript:testEcho('Hello World!')");
![?](http://img1.sycdn.imooc.com/545862770001a22702200220-100-100.jpg)
叮当猫咪
TA贡献1776条经验 获得超12个赞
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { webView.evaluateJavascript("enable();", null); } else { webView.loadUrl("javascript:enable();"); }
添加回答
举报
0/150
提交
取消