我有一個問題,當我暫停我的應用程序幾分鐘(讓它停留在後臺),當我將它帶回到前臺時,我希望它始終返回到特定活動。現在,如果我在一個叫做Fragment A
的特定片段上,並且我想導航到我的HomeActivity
,我認爲從Fragment A
撥打Intent
onResume
會起作用,因爲每當我認爲每當我從後臺恢復活動幾分鐘後,我的意圖會觸發並帶我回到HomeActivity
。這是我的嘗試:如何在應用程序在後臺後導航回特定的活動?
FragmentA.java:
@Override
public void onResume(){
super.onResume();
Intent intent = new Intent(getActivity(), HomeActivity.class);
if(intent != null) {
startActivity(intent);
}
}
現在,它好像當我加載了我的應用程序,出來的背景,當我的片段被調用,而不是「家」我希望它在我的應用程序從後臺進入前臺後調用的屏幕。順便說一句,在我的Android清單的HomeActivity
不具備以下條件:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
由於這是我的登錄活動時,應用程序第一次啓動時。
但是,這似乎給我的應用程序一個白色的屏幕,沒有我的UI顯示,並最終崩潰我的應用程序。有什麼辦法可以隨時導航回到我在任何片段中的活動,當應用程序在後臺進入前臺(暫停,如果您願意)幾分鐘後進入前臺?任何幫助,將不勝感激。謝謝!
@FabinPaul是的,但我只是想知道你爲什麼問這個,我不明白爲什麼orientationn會影響什麼...但我可能是錯的!不過,我可能會決定限制未來的方向變化。 – user1871869
從我的理解,onSaveInstanceState是在應用程序在後臺銷燬之前調用的。當用戶返回應用程序時,會調用活動的/片段的onCreate。在onSaveInstanceState期間保存的捆綁包作爲參數提供給onCreate,當使用intent創建活動時,該參數爲null。 (在定向更改期間重新創建活動時除外)。所以根據onCreate param(bundle)的價值,你可以開始在家活動 –
如果你打算限制方向的變化,我可能會給你一個解決方案。 –