Android 活动:onCreate(Bundle savedInstanceState)中的getIntent()在savedInstanceState不为null时会发生变化

Android 活动:onCreate(Bundle savedInstanceState)中的getIntent()在savedInstanceState不为null时会发生变化,android,android-intent,android-activity,Android,Android Intent,Android Activity,这是我的问题 活动B由活动A通过startActivityForResult启动 活动A通过intent.putExtra(标记)传递了intent中的字符串数组 活动B通过getIntent().getStringArrayExtra(标记)获取onCreate()中的字符串数组 大部分时间进展顺利。 当问题发生时,活动B中的字符串数组get与平常不同,它比以前短 此时,传递给活动B的onCreate的参数savedInstanceState不为空,这意味着活动B正在从以前的状态进行恢复

这是我的问题

  • 活动B由活动A通过
    startActivityForResult
    启动
  • 活动A通过
    intent.putExtra(标记)
    传递了intent中的字符串数组
  • 活动B通过
    getIntent().getStringArrayExtra(标记)
    获取
    onCreate()中的字符串数组
大部分时间进展顺利。 当问题发生时,活动B中的字符串数组get与平常不同,它比以前短

此时,传递给活动B的
onCreate
的参数
savedInstanceState
不为空,这意味着活动B正在从以前的状态进行恢复

这是怎么发生的?当
savedInstanceState
不为空时,从
getIntent()
获取数据是否不安全


如有任何建议,我们将不胜感激。

在<代码>意图中还有哪些“额外内容”
?如果重新启动
活动
,则表示Android已在后台关闭该进程,用户稍后返回应用程序,从而创建新的操作系统进程。在这种情况下,
Intent
将从其序列化形式重建。那么问题可能就出现了。不过,要回答您的问题,可以调用
getIntent()
,无论在何种情况下都是安全的。