2013-03-21 77 views
0

我想處理設備主頁按鈕點擊我的android應用程序。當谷歌搜索據說,這 Link works.But我有一些疑慮。如何有效地處理設備主頁按鈕點擊?

  1. 它是否支持所有的android版本?如果不支持它們中的哪一個?

  2. 由於使用onAttachedToWindow()方法,是否存在任何結果?

  3. 有沒有辦法處理主頁按鈕點擊(除了這個)?

由於提前

回答

0

在以前的版本里,才能工作。但是從4.0版本開始,它無法正常工作(儘管在我的模擬器中,這並不適用於api level 11之後的工作,但我根據許多其他鏈接指出了ics)。

+0

,當用戶點擊HOME按鈕時,我想讓應用程序進入後臺,並在指定的時間自動重啓。如何做到這一點? – 2013-03-21 07:18:24

+0

檢查此http://stackoverflow.com/a/10118640/931982和此http://stackoverflow.com/a/5040120/931982 – stinepike 2013-03-21 07:21:05

-1

耶的工作,請試試這個代碼

@Override 
public void onAttachedToWindow() { 
super.onAttachedToWindow(); 
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);   
} 

現在處理這樣的關鍵事件,

@Override 

public boolean onKeyDown(int keyCode, KeyEvent event) { 

if(keyCode == KeyEvent.KEYCODE_HOME) 
{ 
Log.i("Home Button","Clicked"); 
} 
if(keyCode==KeyEvent.KEYCODE_BACK) 
{ 

    finish(); 
} 
    return false; 
}; 
+0

它適用於所有的android版本嗎? – 2013-03-21 06:08:28

+0

是的,肯定它的作品。請嘗試 – AndroidEnthusiastic 2013-03-21 06:25:13

+0

它拋出java.lang.IllegalArgumentException:添加窗口後無法更改窗口類型。 – 2013-12-21 05:18:55

0

在其他帖子上發現了這個。

在較舊的Android版本上工作。但是Android改變了這個,因爲他們說「Home Button應該保持Home Button」,他們不希望有人重寫Home Button。由於這個原因,你的代碼不再工作。

如果您想在按下home按鈕時執行某些操作,請在onPause方法中執行此操作。