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);
- 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());
- }
本文章已修改原文用詞符合繁體字使用者習慣使其容易閱讀
版權宣告:此處為CSDN博主「千萬種心動」的原創文章,依據CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/JiYaRuo/article/details/101272684