亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

將代碼部署到了小米手機上,url是http://baidu.com;按物理返回鍵,一直都沒有退出整個程序,還是處于百度首頁,這是為何呢?

正在回答

5 回答

在監聽返回事件之后,退出幾次才有效:

原因:網頁重定向(因網址變更,將用戶請求的網址轉到新的網址。)

解決:

webView.setWebViewClient(new?WebViewClient(){????????? ? public?boolean?shouldOverrideUrlLoading(WebView?view,?String?url)?{

return?false;

}

});

0 回復 有任何疑惑可以回復我~

System.exit(0);具體是退出什么呢?真機運行是沒有退出的

0 回復 有任何疑惑可以回復我~
#1

Forest_Deer

退出該應用。詳情可http://www.cnblogs.com/xwdreamer/archive/2011/01/07/2297045.html
2015-08-27 回復 有任何疑惑可以回復我~

我只是給了你一個示例,業務邏輯需要根據你自己的需求改

????@Override
????public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{
????????//按下返回鍵處理
????????if(keyCode?==?KeyEvent.KEYCODE_BACK){
????????????finish();
????????}
????????return?false;
????}


0 回復 有任何疑惑可以回復我~
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);
	}

}

這個程序在機子上運行,啟動后顯示百度首頁,然后按物理返回鍵,始終是在百度首頁,要連續按很多次才會退出;將老師您的代碼部署了下,也是同樣的情況。請問這個可能會是什么情況導致的呢?

0 回復 有任何疑惑可以回復我~

監聽一下返回鍵點擊事件

@Override?
  public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{?????????
  //按下鍵盤上返回按鈕
  if(keyCode?==?KeyEvent.KEYCODE_BACK){
  ????//........
  ????return?true;
  }  
  return?super.onKeyDown(keyCode,?event);
}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第1季)
  • 參與學習       111145    人
  • 解答問題       1560    個

本課程由淺入深地帶您學會Android的常用控件的開發和使用

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號