2012-11-16 45 views
2

我知道Android不允許我們趕回家按下按鈕;不過,我有我自己的內置主屏幕替換應用程序,並想知道何時按下按鈕以允許動畫。在我自己的自定義android主屏幕中,我如何捕捉主頁按鈕?

所以,我的應用程序只有一個活動,因爲我做了我的大部分「活動」作爲繪圖畫布,所以我可以有超過我的應用程序的視覺美感完全控制。問題在於,如果用戶導航到應用程序中的其他頁面並將其按回家,則什麼都不會發生,因爲應用程序在技術上已經在同一活動中。

我想,當按鈕被按下,所以我可以那麼動畫/導航我的應用程序返回到主屏幕就知道了。此外,我知道我可以通過單獨的實際活動來完成這一任務,但這不會對我所要做的事情起作用。

回答

0

當按下home鍵,因爲onPause()總是叫您可以檢測。你不允許覆蓋home鍵,但下面應該工作

@Override 
protected void onPause() 
{ 
    super.onPause(); 
    //code here 
} 

當然使用這個問題是,它會被調用,即使用戶不退出應用程序(例如,如果是通過意圖)

這是最接近的,你會得到一個onHomeButtonPressedListener有真的沒有辦法做到這一點

發送到另一個應用程序
+0

嗯好讓我補充一下我問,你知道當股票主屏幕上您可以將屏幕向左滑動,然後按home鍵和應用程序知道滑回中心頁面?我基本上想要完成同樣的事情。 – FADE

+0

嗯好讓我添加到我問什麼,你知道當股票主屏幕上您可以將屏幕向左滑動,然後按home鍵和應用程序知道滑回中心頁面?我基本上想要完成同樣的事情。 安東 ^^我已經做到了這一點 @jcw ^^的onPause不會被調用,因爲我的應用程序是國內目前應用選擇,以便它不作爲Android的暫停知道它相同的應用程序 – FADE

2

您需要添加<category android:name="android.intent.category.HOME"/>到您的活動的意圖過濾在應用程式的Android.xml

你可以看看Android SDK中的樣品在「家」的應用程序。他們可以使用these instructions下載。

2

//重寫方法

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) {  

     if(keyCode == KeyEvent.KEYCODE_HOME) 
     { 
      //The Code Want to Perform. 
     } 
    }); 
相關問題