複数のアクティビティを含むアプリケーションがあります。Android:アンドロイドがメモリから消去すると、アプリケーションアクティビティスタックが破棄されます
一般的なビジネスロジックは常にMainActivityで実行されます。 MainActivityから、特定のデータで他のアクティビティ(Activity1、Activity2、...)に移動します。
非常にうまくいきます。
ただし、アプリケーションを最小限にしてから他のアプリケーションに移動する場合は、いつでも(5分近く)待機してください。そして、アプリケーションを再び開いて(最大限に)、私たちの活動は空のデータを表示します。
(Androidのは、私たちの活動を殺す!)
をはい、私たちはこの目的のために作成したSaveInstanceStateについては知られています。しかし、我々のアプリケーションでは、MainActivityに含まれている多くの操作があるので、これは最善の解決策ではありません。そして
...私たちの活動を殺し、私たちはMainActivityからではなく、Activity1、Activity2、からアプリケーションを再開したいアンドロイド場合は当社MainActivityコード:@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null) {
Log.w("MainActivity", "Activities already created, we after activity kill process");
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
return;
}
}
それは作品だが、我々は、他の権利でそれを行うことができます方法?
あなたのmainActivityの目的は、mainActivityアクティビティを再起動することですか?他のアクティビティに移動しても何もしません。 – XepterX
@XepterXありがとうございます、あなたはMainActivityにナビゲートせずに他のアクティビティを終了することができます。 –