活动后台处理

时间:2017-08-24 05:46:50

标签: android android-activity back-stack

假设我有activities A,B,C,D,E 。 当我打开活动 A 的应用程序并切换到活动B并进一步活动 C 。假设 B 以某种方式被系统破坏。当我按下back button时,我就退出了应用程序。我真正想要的是能够转到 B ,否则 A (着陆页)。在正常情况下,它工作顺利,但在某些情况下,我必须与其他应用程序/接口进行交互,例如。 在浏览器中打开网址。一段时间后,如果我回到应用程序,我会看到最新页面,但是当我按下后退按钮应用程序退出时。

我搜索了解决方案,但找不到一个,所以将其作为问题发布。

我知道在back按下传递额外意图开始新意图的想法,但这些无效某些情况或需要创建自己的的后备处理程序。

2 个答案:

答案 0 :(得分:0)

无法保证您的活动会留在记忆中,这是一种故意行为。

您的选项用于onRestoreInstanceStateonSaveInstanceState,以便用户不会丢失关键数据。

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    // Get data
    super.onRestoreInstanceState(savedInstanceState);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    // Save data        
    super.onSaveInstanceState(outState);
}

答案 1 :(得分:0)

我过去用来验证活动状态的一种方法是添加例如您的活动中的布尔属性,在活动开始时将此设置为true,如果您的活动在一段时间后被销毁,则此操作将为false。通过覆盖onBackPressed方法的活动来检查状态?

e.g。

df['Date'] = pd.DatetimeIndex(df['Date'])

这可能有用如果我理解你问题正确。