如何让getIntent()在用Intent集调用Activity之后返回null

这个问题与我原来的问题类似,但我认为有一个更好的方法来解决问题。

当setIntent后跟一个旋转时,getIntent返回错误的意图

基本上,在我的主要Activity ,扩展FragmentActivity ,有两个实例,在一个片段我传递一个意图到这个活动。

这是有问题的代码:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(...); if (getIntent() != null && getIntent().getData() != null) { String data = getIntent().getDataString(); //setIntent(null); 

setIntent是试图解决我的问题,但它失败了。

当我点击一个链接返回到我的活动作为一个意图,然后我去到下一个片段,然后我旋转手机,当我调用getIntent时,传递两个片段的Intent会再次显示。

所以,当我从Intent中获取数据时,如何设置它以便下一次getIntent调用将返回null? 或者,将Intent中的数据replace为null是否有意义?

我试图避免更新SharedPreferences中的信息来处理这个问题。

Solutions Collecting From Web of "如何让getIntent()在用Intent集调用Activity之后返回null"

我发现了一个似乎可行的解决scheme,但我希望有一个更好的方法来做到这一点。

  if (getIntent() != null && getIntent().getData() != null) { String data = getIntent().getDataString(); getIntent().setData(null); setIntent(null); 

我认为setIntent没有任何用处,但setData(null)似乎有窍门。