我有叫另外一個通過調用startActivity()
的活動,一段時間後onSaveInstanceState(Bundle outState)
叫我設置一個布爾valeu對onCreate(Bundle savedInstanceState)
但是當這種方法被稱爲savedInstanceState
來自空恢復。我已經在網上搜索了一個答案,但沒有找到我的案例。的Android - savedInstanceState空當parentActivityName充滿
這裏的onSaveInstanceState
方法:
@Override
protected void onSaveInstanceState(Bundle outState) {
outState = new Bundle();
outState.putBoolean(Constants.MAIN_ACTIVITY_STATE_RECREATED, true);
super.onSaveInstanceState(outState);
}
的onCreate
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(R.string.activity_main);
if (savedInstanceState!=null && savedInstanceState.getBoolean(Constants.MAIN_ACTIVITY_STATE_RECREATED, false)){
return;
}
//DO SOME STUFF
}
而這裏的活動我AndroidManifest聲明:
<activity android:name=".MainActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
這就是所謂的活動:
<activity android:name=".PhotoUserActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
android:parentActivityName=".MainActivity">
</activity>
如果我從第二個活動的聲明中刪除parentActivityName,並自己創建「後退按鈕」,則第一個Activity的onCreate永遠不會被調用。
感謝您的幫助!
你有解決它?我有同樣的麻煩:http://stackoverflow.com/q/41578258/1639556但我不創建nw捆綁實例。 –
@LeosLiterak不幸的是,我用另一種方法來實現我的目標 –