public class MyWebView extends Dialog
{
protected WebView mWebView;
protected void onCreate(Bundle savedInstanceState) {
mWebView.addJavascriptInterface(new JavaScriptInterface(),"js2java");
mWebView.getSettings().setJavaScriptEnabled(true);
}
}
public class JavaScriptInterface
{
public void test(String response)
{
MyToast.showMessage(QWWebView.this.getContext(),response);
}
}
第一次显示对话框:
new MyWebView().show();
可以成功调用函数“test”,然后关闭MyWebView实例,然后再次显示:
new MyWebView().show();
无法调用“test”函数。
答案 0 :(得分:0)
不确定这是否是您的问题,但是在添加所需定义时,我最近遇到了JavaScripInterface问题。这可以通过专门定义在java脚本中使用哪些函数来解决。
public class JavaScriptInterface
{
@JavascriptInterface
public void test(String response)
{
MyToast.showMessage(QWWebView.this.getContext(),response);
}
}
另请注意@SuppressWarnings(“unused”)将摆脱恼人的未使用功能警告。
在您的代码示例中,我看不到您执行脚本的要点?!?