问题如下:这段代码时的:view.loadUrl();方法,我直接用运行到手机上,是可以运行的(即有回调),但是当export以后再安装到手机上,就执行不了了。回调的方法里就没有反应了,请大神赐教. 我只是想把网页上的数据读取出来而已
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
System.out.println("onPageFinished = "+url);
view.loadUrl("javascript:window.handleobj.showSource(document.body.innerHTML);");
return;
}
}
始终想不通原因,换了一个处理方式,解决了:
public void onPageFinished(WebView view,final String url) {
//将页面的文本用JS alert 弹出
view.loadUrl("javascript:alert(document.body.innerHTML)");
return;
}
//WebChromeClient 内的方法,页面弹出 alert时会调用
public boolean onJsAlert(WebView view, String url,final String message,
JsResult result) {
//这里面的message 就是页面内容
System.out.println("onJsAlert result: "+result+" message:"+message);
result.cancel();//直接隐藏掉。OK 看起来结果跟上面的方法是一样的
return true;
}
这个 设了 吗 webSettings.setJavaScriptEnabled(true);
媒体盒子 :那个不设,都运行不了的。实在想不到会是什么原因
pzyoung : 就好几台手机都试了,跟手机没关系。直接用eclipse安装到手机上,是可以的。但打包出来的apk安装上以后,就不行了
参考:http://blog.csdn.net/arui319/article/details/7044638
重写onPageStarted试试,看这里面执行吗
danielinbiti :
这句代码:View.loadUrl("javascript:window.handleobj.showSource(document.body.innerHTML);");
之后就没有任何响应了,无论是可以回调或不可以回调的两个版本。我在想是不是weiview有什么权限,是打包的时候漏掉了会不会呢