我正在使用 WebView 将网站显示到我的应用程序中。当我加载 WebView 时,我首先需要填写身份验证表单,然后重定向到原始 URL。我的 WebView 一次又一次地重新加载。谁能向我解释一下如何使用带有“自动”填充功能的 WebView? final WebView mWebView; //Show webview into the app via a popup AlertDialog.Builder mAlertDialog = new AlertDialog.Builder(context); mAlertDialog.setTitle(R.string.menuBuyCredit); mWebView = new WebView(context); mWebView.getSettings().setDomStorageEnabled(true); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl(ConstantsClass.URL_BUY_CREDIT); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); //In order to automatically fill the form final String mJavaScript = "javascript:" + "document.getElementById('Login').value = '" + ClientSingleton.getInstance().getmLogin() + "';" + "document.getElementById('Password').value = '" + ClientSingleton.getInstance().getmPassword() + "';" + "document.getElementById('Btn_Envoyer').click()"; view.loadUrl(mJavaScript); view.loadUrl(ConstantsClass.URL_BUY_CREDIT); view.pageDown(true); } }); mAlertDialog.setView(mWebView); mAlertDialog.setNegativeButton(R.string.closeDrawer, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { dialogInterface.dismiss(); } }); mAlertDialog.show(); } ```
1 回答
![?](http://img1.sycdn.imooc.com/54586870000183e302200220-100-100.jpg)
慕妹3242003
TA贡献1824条经验 获得超6个赞
你应该使用类似的东西
把这个放在全局
boolean loadedAlready = false;
内部onPageFinished方法
if (view.getUrl().equals(ConstantsClass. URL_BUY_CREDIT) && !loadedAlready) {
loadedAlready= true;
view.load(ConstantsClass.URL_BUY_CREDIT);
}
添加回答
举报
0/150
提交
取消