2012-03-30 288 views
0

在我的應用程序中,它需要從啓動活動或第一個活動啓動應用程序;因爲應用程序通過登錄部分進行了身份驗證..所以,無論何時應用程序退出;說,通過按下BACK或HOME按鈕,我需要從登錄本身啓動應用程序...有沒有辦法做同樣的事情?Android應用程序啓動

我想一個簡單的技術,通過重寫的keyEvent,並實施了BACK按鈕inside.It工作結束()方法,但它不工作的HOME鍵...

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 

     finish();  
    } 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

     finish();  
    } 
    return false; 
} 

回答

0

雅得到的答案...

我只是包含要顯示的第一個活動下列屬性的時候,我在我的問題說......

android:launchMode="singleTask" 
android:clearTaskOnLaunch="true" 

還包括該屬性其他活動...

android:finishOnTaskLaunch="true" 

試試看......

4

起飛看看這個:

activity lifecycle

基本上,每次你的應用程序被暫停,關閉活動,因此必須再次重新啓動。你可以通過覆蓋onPause方法並關閉那裏的活動來做到這一點

+0

我試過的onPause(),但它仍然在殺害之前只這是積極的活動.... – subrussn90 2012-03-30 10:34:37

1

如果我沒有弄錯,不能覆蓋HOME按鈕,因爲它應該使用戶在任何給定的點上退出應用程序。

1

當HOME鍵按下onStop被稱爲所以你可以在onStop()爲destory活動添加finish();,你可以嘗試使用onUserLeaveHint()這種方法也被稱爲當用戶按下Home鍵