0

我想知道 Activity 中的 getIntent() 可用多长时间(不返回 null)。所以假设我从我的 Activity A 启动 Activity B 并在 Intent 中传递一些额外的数据。

在活动 BI 中,将从活动 onCreate() 方法中的意图中读取额外数据。到现在为止还挺好。但是可用多长时间getIntent()?我的意思是,如果用户正在显示 Activity B,但切换到另一个应用程序(即通过使用多任务按钮)并且几个小时后用户再次单击多任务按钮(同时该活动可能已被破坏)并打开 Activity又是 B。因此onCreate()将调用 Activity B 来重新实例化 Activity B。 getIntent() 现在是否仍然返回具有额外值的原始 Intent,或者我是否必须将 Intent 额外值保存在活动中onSaveInstanceState()并使用 Bundle onCreate(Bundle state)

4

2 回答 2

1

getIntent() 现在是否仍然返回带有额外值的原始 Intent

从技术上讲,它返回Intent. 一般来说,它应该与原版相同Intent,包括所有额外内容。

于 2013-10-06T22:55:05.890 回答
0

从 Android 文档,getIntent()返回

Return the intent that started this activity.  

但是他们的情况太多了,getIntent 为 null 或 extras 为 null。检查这个链接这个。特别是在设备旋转或按返回键时。

但正如其似乎文件所说的那样。为了安全起见,我建议您执行以下操作

if (getIntent() != null && getIntent().getExtras() != null){

}

而且,您的活动代码应该准备好处理getIntentnull 的情况。

于 2013-10-06T23:16:19.233 回答