2010-11-20 96 views
1

在我的申請中,我有三項活動。在我的第三個活動,如果我點擊主頁按鈕它來到Android主屏幕(應用程序仍然運行在後臺我注意到使用Log語句)。如果我重新啓動應用程序,那麼它從第一個活動開始。我如何從第三個活動加載它?任何人都可以給我你的建議....在Android的主頁按鈕?

在此先感謝....

回答

7

如果你點擊home鍵,活動執行的方法:在onPause() - >的onStop();
當您重新啓動應用程序時,活動將執行方法:onRestart() - > onStart() - > onResume() - > ....
通過這些方法控制活動。 我希望它能幫助你。

0

不,它不從第一個活動開始。如果您按主頁按鈕,然後通過按活動圖標或通過家中的長按(應用程序切換器)啓動活動,它將繼續執行您所在活動的應用程序。

您可能在模擬器的開發設置中打開了「立即銷燬」標誌,或者您的內存可能太少,或者您已經自己殺死了該進程。在這些情況下,Android可能會破壞您的活動。然後它會重新開始活動。

RG

1

重寫下面的方法。

@Override 
public void onAttachedToWindow() 
{ 
    Log.i("TESTE", "onAttachedToWindow"); 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

使用此方法,HOME按鈕在此活動中停止工作(僅此活動)。然後你只需重新實現,因爲這是一個正常的按鈕事件(例如後退按鈕)。

public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_HOME) { 
    Log.i("TESTE", "BOTAO HOME"); 
    return true; 
} 
return super.onKeyDown(keyCode, event);  

}