我怎麼知道,如果一個活動一個從意向開始啓動:活動從背景或其他活動
Intent intent = new Intent(this, Activity.class);
startActivity(intent);
或由於活動週期(破壞後,活性的可再次創建,如果它在歷史應用)。
有什麼辦法來區分這兩種方式來調用一個活動?
我怎麼知道,如果一個活動一個從意向開始啓動:活動從背景或其他活動
Intent intent = new Intent(this, Activity.class);
startActivity(intent);
或由於活動週期(破壞後,活性的可再次創建,如果它在歷史應用)。
有什麼辦法來區分這兩種方式來調用一個活動?
所以,如果我理解你想檢查是否onCreate
它被稱爲第二次。您可以通過使用這個邏輯實現的是:()
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedIntanceState != null && savedIntanceState.getBooleanExtra("FIRST_RUN", false)){
//not a first run
}
}
protected void onSaveInstanceState(Bundle outState) {
outState.putBoolean("FIRST_RUN", true);
super.onSaveInstanceState(outState);
}
使用'putExtras這種方法'更適用於這種情況下,bcause'Intent'從'來Activity'不能失去其'mExtras'。 – Richard