Android WebView 自动填充

网页表单自动填充

之前看到有第三方微博客户端会记录用户账号密码,等下次需要登录验证时会直接给 WebView 中的表单填充内容(用户名、密码),实现方式也比较简单,只需要监听 WebViewClient 的 onPageFinished 方法,监听页面加载完成,然后调用 JS 把用户名密码信息填充到表单中。

//需要在网页加载完成后调用方法 onPageFinished()
mWebView.loadUrl(url);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url) {
        //用户名
        String user="username";
        //密码
        String pwd="123456";
        //把用户名密码填充到表单
        view.loadUrl("javascript:document.getElementById('username').value = '"+user+"';document.getElementById('password').value='"+pwd+"';");
    }
});

参考:http://stackoverflow.com/questions/10187908/fill-form-in-webview-with-javascript