將代碼部署到了小米手機上,url是http://baidu.com;按物理返回鍵,一直都沒有退出整個程序,還是處于百度首頁,這是為何呢?
緣分天空_0003
2014-09-27
5 回答
舉報
0/150
提交
取消
2015-08-27
在監聽返回事件之后,退出幾次才有效:
原因:網頁重定向(因網址變更,將用戶請求的網址轉到新的網址。)
解決:
webView.setWebViewClient(new?WebViewClient(){????????? ? public?boolean?shouldOverrideUrlLoading(WebView?view,?String?url)?{
return?false;
}
});
2014-11-22
System.exit(0);具體是退出什么呢?真機運行是沒有退出的
2014-09-28
我只是給了你一個示例,業務邏輯需要根據你自己的需求改
????@Override ????public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{ ????????//按下返回鍵處理 ????????if(keyCode?==?KeyEvent.KEYCODE_BACK){ ????????????finish(); ????????} ????????return?false; ????}2014-09-28
package?com.example.webviewtest; import?android.os.Bundle; import?android.app.Activity; import?android.app.ProgressDialog; import?android.view.KeyEvent; import?android.view.Menu; import?android.webkit.WebChromeClient; import?android.webkit.WebSettings; import?android.webkit.WebView; import?android.webkit.WebViewClient; public?class?MainActivity?extends?Activity?{ private?WebView?wv; @Override protected?void?onCreate(Bundle?savedInstanceState)?{ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wv?=?(WebView)?findViewById(R.id.webView1); wv.loadUrl("http://baidu.com"); //設置啟用javascript WebSettings?settings?=?wv.getSettings(); settings.setJavaScriptEnabled(true); //設置啟用緩存 settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //獲取焦點 wv.requestFocus(); //設置使用webview自身打開網頁 wv.setWebViewClient(new?WebViewClient()?{ @Override public?boolean?shouldOverrideUrlLoading(WebView?view,?String?url)?{ view.loadUrl(url); return?true; } }); //設置進度顯示 wv.setWebChromeClient(new?WebChromeClient()?{ ProgressDialog?dialog; @Override public?void?onProgressChanged(WebView?view,?int?newProgress)?{ ?if(newProgress==100){ ?closeProccgressDialog(); ?}else{ ?openProccgressDialog(); ?} } private?void?closeProccgressDialog()?{ if(null!=dialog){ dialog.dismiss(); dialog?=null; } } private?void?openProccgressDialog()?{ if(null==dialog){ ????dialog?=?new?ProgressDialog(MainActivity.this); ????dialog.setCanceledOnTouchOutside(false); dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); dialog.setMessage("正在加載中,請稍后"); dialog.show(); } } }); } @Override public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{ //按下返回鍵處理 if(keyCode?==?KeyEvent.KEYCODE_BACK&&wv.canGoBack()){ wv.goBack(); return?true; } return?super.onKeyDown(keyCode,?event); } }這個程序在機子上運行,啟動后顯示百度首頁,然后按物理返回鍵,始終是在百度首頁,要連續按很多次才會退出;將老師您的代碼部署了下,也是同樣的情況。請問這個可能會是什么情況導致的呢?
2014-09-28
監聽一下返回鍵點擊事件
@Override? public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{????????? //按下鍵盤上返回按鈕 if(keyCode?==?KeyEvent.KEYCODE_BACK){ ????//........ ????return?true; } return?super.onKeyDown(keyCode,?event); }