![](/img/trans.png)
[英]How to start a MapActivity from normal Activity in Android
[英]Android - how to differentiate activity restart from a “normal” start
我試圖區分一個活動是否被破壞然后重新啟動,而不是通過標准的startActivity調用啟動它。 區分這個的最佳方法是什么? 我需要跟蹤一個計數器,當應用程序被銷毀並重新啟動時,計數器不應該遞增。 我嘗試使用putExtra(String,String),但無論如何返回的值都是相同的。
您可以嘗試使用標志isSavedInstanceState。 在onResume中將此標志設置為false。 在onSaveInstanceState中將此標志設置為true。 在onStop中檢查此標志。
@Override
protected void onStop(){
super.onStop();
if (!isSavedInstanceState){ // this is a HARD KILL, write to prefs
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putYourCounterIncrementHere
editor.commit();
Log.d(TAG,"savedPrefs");
}
else {
Log.d(TAG,"DidNotSavePrefs");
}
Log.d(TAG,"onStop");
}
這將增加你的計數器硬殺。 如果需要,您可以在onCreate中檢查包的空包,但我還沒有完全測試該邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.