1.佈局
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
2.代碼
private void initWebView() {
WebView webview = findViewById(R.id.webview);
//1. Url的地址
String mUrl = "http://www.baidu.com/";
//2. 要提交的數據
String mData = "name=李圖&age=18&sex=n&page=1";
WebSettings webSettings = webview.getSettings();
//3. 設置緩存
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//4. 適應分辨率
webSettings.setUseWideViewPort(true);
//5. 設置能夠解析Javascript
webSettings.setJavaScriptEnabled(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setDomStorageEnabled(true);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webview.setHapticFeedbackEnabled(false);
//6. java回調js代碼,不要忘了@JavascriptInterface這個註解,不然點擊事件不起作用
webview.addJavascriptInterface(new JsInterface(this), "android");
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri = Uri.parse(url);
if (("app/appGetCashCallback.html?source=m").equals(uri.toString())) {
finish();
startActivityNoResult(TakeMoneySuccessActivity.class, null);
}
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//加載完畢,關閉加載的dialog
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
//接受信任所有網站的證書
handler.proceed();
}
});
//7. 表單提交,postUrl
webview.postUrl(mUrl,mData.getBytes());
}