1、添加上網權限:<uses-permission android:name="android.permission.INTERNET" />
2、設置webview
1 WebView webView; 2 WebSettings ws; 3 4 5 ws = webView.getSettings(); 6 ws.setAppCacheEnabled(true);// 設置啟動緩存 7 ws.setAppCacheMaxSize(1024 * 10);// 設置最大緩存 8 ws.setSupportZoom(true);// 設置成拖動放大縮小 9 ws.setBuiltInZoomControls(true); 10 ws.setCacheMode(WebSettings.LOAD_NO_CACHE);// 設置緩存模式 11 // 設置支持Javascript 12 webView.getSettings().setJavaScriptEnabled(true); 13 webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 14 15 // 緩存,離線應用 16 webView.getSettings().setAppCacheEnabled(true); 17 webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 18 webView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);
3、獲取網頁對話框
webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { // TODO Auto-generated method stub // 構建一個Builder來顯示網頁中的對話框 Builder builder = new Builder(context); builder.setTitle("警告"); builder.setMessage(message); builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // 點擊確定按鈕之后,繼續執行網頁中的操作 result.confirm(); } }); builder.setCancelable(false); builder.create(); builder.show(); return true; } @Override public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { // TODO Auto-generated method stub Builder builder = new Builder(context); builder.setTitle("confirm"); builder.setMessage(message); builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { result.confirm(); } }); builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { result.cancel(); } }); builder.setCancelable(false); builder.create(); builder.show(); return true; } @Override public void onProgressChanged(WebView view, int newProgress) {// 加載進度 // TODO Auto-generated method stub super.onProgressChanged(view, newProgress); } });
4、如果希望點擊鏈接由自己處理,而不是新開Android的系統browser中響應該鏈接。
給WebView添加一個事件監聽對象(WebViewClient)
5、webview取得焦點
webView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub webView.requestFocus(); return false; } });
6、提示加載對話框
pd=ProgressDialog.show(context, "請稍后", "正在加載中...");
當網頁加載完成后,調用pd.dismiss();