如何使用webview Android 4.3+保存HTML表单网址

时间:2014-10-09 08:18:25

标签: android html webview

我需要帮助。此代码适用于Android 4.2及更低版本,但在Android 4.3及更高版本上无效。我需要从任何URL获取源代码并将其保存到自定义文件中。

为什么选择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");  

1 个答案:

答案 0 :(得分:1)

在showHTML方法声明之前添加@JavascriptInterface注释