当恢复Activity时,Android是否恢复Intent附加信息?

13
在Android Activity生命周期中,当Activity.onCreate()在恢复后被调用时(例如不是在活动最初创建或响应屏幕旋转时),此代码是否会返回有效(非空)的Bundle?
public void onCreate(Bundle savedInstanceState) {
    Bundle b = this.getIntent().getExtras();
    // is b == null? (when activity is resumed)
}

我正在尝试复现一个问题,即当应用程序长时间未使用后,用户返回时应用程序会崩溃。

2个回答

14
好的,当Android杀死我的应用程序并且用户返回时 - onCreate()会触发一个“新”的Activity,并且原始Intent及其关联的Extras就不存在了;或者这些Extras是否由Android附加到新的Intent中呢?
我也在想同样的问题,并在我的应用程序中快速测试了一下。
结果表明,当您的应用程序被杀死后,在重新创建活动时,意图额外信息是可用的。

谢谢您的回答 - 这是一个更简洁的解释,当人们来到这里时似乎想知道的内容。如果可以的话,我会删除我的评论,这样人们就不会再评论它,而是看到您的评论。 - Thomas Dignan

2
我会将那段代码放在onResume()中,这样当返回到前台时就可以使用它了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接