我有一个通过intent extras获取字符串的活动:
i.putExtra("static_image", theUri.toString());
startActivity(i);
在我的活动中:
Uri imageUri = Uri.parse(intent.getStringExtra("static_image");
它有效,但是如果我不关闭应用程序并且我使用不同的uri再次打开该活动,那么意图会给我一个旧的...
我认为意图正在被重用。如何重置活动或强制活动使用新意图?
感谢
答案 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");