基礎 返回鍵back

2022-05-21 08:10:31 字數 2474 閱讀 6632

**********== 2, android中的back鍵處理

很多網友不明白,如何在android平台上捕獲back鍵的事件。

back鍵是手機上的後退鍵,一般的軟體不捕獲相關資訊可能導致你的程式被切換到後台,而回到桌面的尷尬情況,在android上有兩種方法來獲取該按鈕的事件。

1.直接獲取按鈕按下事件,此方法相容android 1.0到android 2.1 也是常規方法,直接重寫activity的onkeydown方法即可,**如下:

@override

public boolean onkeydown(int keycode, keyevent event)  

return super.onkeydown(keycode, event);

}2、重寫onbackpressed方法

而對於android 2.0開始又多出了一種新的方法,對於activity 可以單獨獲取back鍵的按下事件,直接重寫onbackpressed方法即可,**如下

@override

public void onbackpressed()

此外,關於android home鍵和back鍵區別

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()方法即可

?@override

publicvoidonbackpressed()

退出應用程式的實現:可以自己寫個方法,例如:

?publicvoidexitprogrames()

注意:需要新增許可權:

在android平台上捕獲back鍵的事件,back鍵是手機上的後退鍵,一般的軟體不捕獲相關資訊可能導致你的程式被切換到後台,而回到桌面的尷尬情況,在android上有兩種方法來獲取該按鈕的事件。

1.直接獲取按鈕按下事件,此方法相容android 1.0到android 2.1 也是常規方法,直接重寫activity的onkeydown方法即可,**如下:

@override

public boolean onkeydown(int keycode, keyevent event) 

return super.onkeydown(keycode, event);

}而對於android 2.0開始又多出了一種新的方法,對於activity 可以單獨獲取back鍵的按下事件,直接重寫onbackpressed方法即可,**如下

@override

public void onbackpressed()

同時還有一種情況,就是在以前開發的程式中使用的是onkeydown方法,但是後續版本為了相容onbackpressed方法。就需要兩者之間進行巢狀。具體的方法如下:

@override

public boolean onkeydown(int keycode, keyevent event) else

}利用時間差方法完成兩次返回鍵退出,防止誤操作。

// 退出時間

private longcurrentbackpressedtime = 0;

// 退出間隔

private static finalintback_pressed_interval = 2000;

//重寫onbackpressed()方法,繼承自退出的方法

@override

publicvoidonbackpressed()else

}

android捕獲back返回鍵

override public boolean onkeydown int keycode,keyevent event builder.setnegativebutton 取消 new dialoginte ce.onclicklistener alertdialog alertdialog bu...

模擬back鍵功能

方法1 int keycode keyevent.keycode back keyevent event new keyevent keyevent.action down,keycode onkeydown keycode,event 方法2 back功能其實也是把1個activity結束。所以可...

webApp 物理鍵back處理

1 普通頁面,可以直接回退 2 不允許回退的頁面 eg alert,confirm 3 頁面有浮層,需要先處理浮層 eg actionsheet 思路 1.特殊頁面中包含乙個物理鍵back的處理函式 2.document backbutton 事件觸發時,尋找當前頁面的處理函式,有則執行,無則預設執...