0
我需要幫助。此代碼適用於Android 4.2及更低版本,但Android 4.3及更高版本無效。我需要從任何網址獲取源代碼並將其保存到自定義文件中。如何使用vebview保存HTML表單url Android 4.3+
爲什麼選擇WebView?因爲我需要保存登錄後的代碼,並將其保存在Cookie中。
class MyJavaScriptInterface
{
@SuppressWarnings("unused")
public void showHTML(String html)
{
try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
openFileOutput("home_slider", MODE_PRIVATE)));
bw.write(html);
bw.close();
}
// Connect to the web site
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
final WebView browser = (WebView)findViewById(R.id.wv_hide);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setBlockNetworkImage(true);
browser.getSettings().setLoadsImagesAutomatically(false);
browser.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
browser.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) { browser.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
}
});
/* load a web page */
browser.loadUrl("http://myurl.com");
謝謝之前添加註釋@JavascriptInterface,它幫助... – 2014-10-09 08:47:29