WebView--(雙擊退出)
阿新 • • 發佈:2019-02-03
package com.rong.webView; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.webkit.JsResult; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.graphics.Bitmap; public class MainActivity extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //得到WebView物件 webView = (WebView) findViewById(R.id.webView); //得到WebSettings物件 WebSettings webSettings = webView.getSettings(); //設定是否支援js(javaScript) webSettings.setJavaScriptEnabled(true); //開啟webView自帶的縮放按鈕 webSettings.setBuiltInZoomControls(true); //設定webView載入頁面的方法 setWebView(); } private long exetime; //設定返回鍵為回退 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { /*if(keyCode==KeyEvent.KEYCODE_BACK&&webView.canGoBack()){ webView.goBack(); return true; }*/ //再按一次就退出 if(System.currentTimeMillis()-exetime>2000){ Toast.makeText(MainActivity.this, "再按一次退出程式", Toast.LENGTH_SHORT).show(); exetime=System.currentTimeMillis(); }else{ System.exit(0); } return true; } /** * * @param v * * 點選載入網頁 */ public void alert(View v){ //訪問assets資料夾中的html頁面 webView.loadUrl("file:///android_asset/jstest.html"); //設定瀏覽器的處理類 webView.setWebChromeClient(new WebChromeClient(){ @Override public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { AlertDialog.Builder builder=new Builder(MainActivity.this); builder.setMessage(message); builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { result.confirm(); } }); builder.setNegativeButton("關閉", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { result.cancel(); } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); return true; } }); } /** * 設定webView載入頁面的方法 * */ private void setWebView() { webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //返回值為false時,當前url交給當前webView處理 return super.shouldOverrideUrlLoading(view, url); } //開始載入頁面 @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } //完成頁面載入 @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); } }); } }