2012-04-10 39 views
0

假設有3個活動A,B和C.在第一次啓動我的應用程序B時是通過A創建的。但在隨後使用應用程序時,我希望應用程序從B啓動並轉到C 。 我怎麼做?活動控制

(例如,活動A要求創建按鈕的數量,並且在B中爲C所執行的進一步活動創建了這麼多按鈕。應該僅在初始化時使用A,而不是進一步使用應用程序。由B創建的活動必須保持不變)

任何參考或示例代碼可能有幫助
在此先感謝。

+1

如果我理解正確的話,你想多個入口點到你的應用程序? – 2012-04-10 12:43:47

回答

0

這可以通過很多方式完成,但不是太多的確定的火災:你將使用的基本方法是一個啓動屏幕以及存儲在某處的標記變量。正如您的評論中提到的那樣,無論何時輸入活動A,都可以在SharedPreferences中設置該標誌。當你將來回到這個活動時,你可以簡單地檢查標記是否被設置,然後可能讓一個新的Intent從B啓動活動C.你也可以用A來做類似的事情,在那裏檢查標誌你選擇去應用程序。一個棘手的情況是如何重置標誌。有幾個選項,你可以保守地重置onStop()中的標誌,在考慮生命週期後,這可能是一個好主意。你也可以註冊一個啓動完成的處理程序,然後重置那裏的標誌,這實際上可以讓你在每次系統啓動時重新啓動行爲。

1

您可以隨時通過活動A啓動您的應用程序。在A中,檢查它是否是第一次。如果是第一次,則執行一些初始化操作並啓動B.否則直接啓動B. 您可以將isFirstTime標誌存儲到首選項中。

1

使用此代碼在A,B和C類

public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if(keyCode == KeyEvent.KEYCODE_BACK){ 
      finish(); 
      } 
      return super.onKeyDown(keyCode, event); 
    }