意图不会重置额外内容

时间:2014-09-25 20:58:23

标签: android android-intent

我有一个通过intent extras获取字符串的活动:

i.putExtra("static_image", theUri.toString());
startActivity(i);

在我的活动中:

Uri imageUri = Uri.parse(intent.getStringExtra("static_image");

它有效,但是如果我不关闭应用程序并且我使用不同的uri再次打开该活动,那么意图会给我一个旧的...

我认为意图正在被重用。如何重置活动或强制活动使用新意图?

感谢

2 个答案:

答案 0 :(得分:1)

好的,这解决了我的问题。 在接收者活动覆盖中:

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

答案 1 :(得分:-1)

如果你在检索它之后立即将它从意图中删除了怎么样?

// test if it exists?    
Uri imageUri = Uri.parse(intent.getStringExtra("static_image");

// ......
// remove it since you already have it in your variable
getIntent().removeExtra("static_image");