无法使用startactivityforresult发送或检索附加内容

时间:2013-10-16 20:04:10

标签: android android-intent

活动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"为什么?

1 个答案:

答案 0 :(得分:1)

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

尝试以下方法刷新意图:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
}