0

活动 myActivity1:

Intent i = new Intent(this, myActivity2.class);
i.putExtra("type", type);
if(type == 1)
{
    i.putExtra("namesArray", myArray);
}
startActivityForResult(i, 1);

活动 myActivity2:

//inside onResume()
if(getIntent().hasExtra("type"))
{
    Log.i(tag, "Has extra");
}
else
{
    Log.i(tag, "No extra type");
}

我总是明白"No extra type"为什么?

4

1 回答 1

1

如果 myActivity2 是在收到意图之前创建的,则可能getIntent()会返回最初创建活动的原始意图,该意图可能没有设置任何额外内容。

尝试以下方法来刷新意图:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
}
于 2013-10-16T20:17:47.980 回答