一、onBackPressed()方法的解釋
這個方法放在
在安卓API中它是這樣解釋的:
public void onBackPressed ()
Called when the activity has detected the user's press of the back key. The default implementation simply finishes the current activity, but you can override this to do whatever you want.
我用有道詞典翻譯了一下:調用活動檢測到用戶的按的鍵。默認實現簡單地完成當前的活動,但是你可以覆蓋這個做任何你想做的。
我的理解就是:當用戶在按這個鍵的時候,會調用這個方法。
這是Android 2.0開始多出了一種新的方法,對於Activity 可以單獨獲取Back鍵的按下事件,直接重寫onBackPressed方法即可。
二、onBackPressed()方法的使用
public void onBackPressed() { Intent intent=new Intent(); intent.putExtra("data_return", "相信自己"); setResult(RESULT_OK, intent); super.onBackPressed();
return; }
大家注意:該方法僅適用於2.0或更新版的sdk
關於這個return我也不怎么清楚,我查了很多資料,都說用到return但是都不清楚用return有什么作用。希望大家可以去搜集更多的資料。我試了試不用return 程序也是可以運行的。
此外,給大家說一下back鍵和home鍵的區別:
back鍵
Android的程序無需刻意的去退出,當你一按下手機的back鍵的時候,系統會默認調用程序棧中最上層Activity的Destroy()方法來, 銷毀當前Activity。當此Activity又被其它Activity啟動起來的時候,會重新調用OnCreate()方法進行創建,當棧中所有 Activity都彈出結束后,應用也就隨之結束了.如果說程序中存在service之類的,則可以在恰當的位置監聽處理下也就可以了.
home鍵
Android程序的隱藏,當你按下手機的Home鍵的時候,系統會默認調用程序棧中最上層Activity的stop()方法,然后整個應用程序都會被 隱藏起來,當你再次點擊手機桌面上應用程序圖標時,系統會調用最上層Activity的OnResume()方法,此時不會重新打開程序,而是直接進入, 會直接顯示程序棧中最上層的Activity。
back鍵默認把當前Activity給finish,home鍵只是把Activity給onStop.
實現按Home鍵時隱藏程序的效果:
1:Android 2.0之前需要監聽按鍵事件,進行判斷是不是按下了back鍵
2:Android 2.0之后系統提供了一個onBackPressed()方法,這個方法就是專門用來監聽back鍵事件的,所以只需重寫onBackPressed()方法即可
public void onBackPressed() { // super.onBackPressed();這句話一定要注銷,不然又去調用默認的back處理方式了 Intent intent=new Intent(); intent.putExtra("data_return", "相信自己"); setResult(RESULT_OK, intent); }
關於onBackPressed()方法我就介紹到這,希望對你有所幫助。