Android getIntent()每次都在onResume()中返回相同的意图.如何清除捆绑中的int字段?

And*_*per 9 android

我正在使用getIntent()来读取捆绑信息的应用程序.我想将其中一个bundle字段设置为null,以便在后续的简历中收到修改后的intent,但是我仍然从getIntent()获得相同的意图.我注意到按下后退键后产生的是新意图,但不是.

 intent.getExtras().getInt("FLAG_FIELD") returns 1
 intent.getExtras().setString("FLAG_FIELD", null);
Run Code Online (Sandbox Code Playgroud)

但是当Activity再次恢复时,getInt()仍然返回一个值而不是null.不确定如何清除捆绑中的Int字段.

刚试过更新:

intent.getExtras().putInt("FLAG_FIELD, -1); 
Run Code Online (Sandbox Code Playgroud)

这也行不通.看起来getIntent()的意图无法更改.

更新:onResume()在活动变得可见之前连续3次在调试器中被调用?因此,即使我在这里设置了一个标志,似乎很难改变状态,因为我无法分辨哪个resume()调用是实际显示之前的最后一个.

cod*_*gic 10

您可以覆盖onNewIntent()并更改其中的附加内容. 这是文档.在这种方法之后,你onResume()会被称为我认为你正在追求的