如何获得getIntent()来调用一个Intent集活动后返回null(How to get ge

2019-07-03 19:07发布

这个问题类似于我原来的问题,但我认为这是一个更好的办法的办法解决。

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

基本上,在我的主要Activity ,其延伸FragmentActivity ,在以下两种情况中,其中一个片段予传递一个意向此活动。

这是有问题的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(...);

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

setIntent是解决我的问题的尝试,但未能奏效。

当我点击可以追溯到我的活动作为一个Intent的链接会发生什么事,那我去下一个片段,然后转动手机,这是通过两个片段前再次说明了,当我打电话的意图getIntent

所以,当我得到的数据出来的意向,我怎么可以设置它所以下次调用getIntent将返回null? 或者,它将使意义只是在意向中的数据为空呢?

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

Answer 1:

我发现,似乎工作的解决方案,但我希望有一个更好的办法做到这一点。

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

我认为setIntent没有任何用处的,而是在setData(null) ,似乎这样的伎俩。



文章来源: How to get getIntent() to return null after Activity called with an Intent set