2012-04-14 72 views
3

在我的程序中,我有一個在應用程序打開時啓動的活動。如果我再開幾次活動,我又該如何回到主要活動?在意圖過濾器中,活動的名稱是「android.intent.action.MAIN」,並且它不允許我在其上調用startActivity()。我該怎麼辦?你如何從其他活動中調用主發射器活動?

+1

不認爲你可以用另一個應用程序的活動調用startActivity。我認爲你唯一的賭注是隱含的意圖。 – CChi 2012-04-14 00:31:25

回答

4
Intent intent = new Intent(this, MainActivity.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intent); 

比方說,你的活動堆棧如下... MainActivity>活動1>活性2> Activity3, 運行上面的代碼將關閉活動1 & 2,恢復MainActivity

4

你可以做到這一點通過Intent

Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 

此意向將啓動用戶已定義的啓動器應用程序。請小心,因爲如果用戶不期望這會看起來像你的應用程序崩潰。