Android:不推荐使用getIntent()

rnb*_*bee 5 android android-intent android-fragments

我的程序包含一个MainActivity和两个片段活动.我需要一个片段从用户获取String值并将其传递给第二个片段.

我试图围绕如何做到这一点.由于我熟悉意图,我在另一篇文章中找到了这个答案,并决定尝试一下.一切都看起来很好,直到我进入第4步,当我尝试i = getIntent();在我的第二个片段中使用Intent 时,Studio不会让我使用它并说"getIntent(java.lang.String) is deprecated".

这对我来说没有意义,因为我已经getIntent()在其他程序中使用了没有问题,而且它让我在我MainActivity(在另一篇文章中的第2步)中使用它而不会尖叫我.

我知道这可以在不使用意图的情况下完成,但我无法弄明白,也无法找到任何真正完整的教程.所以我想我的问题是:

  1. 我可以为此目的使意图工作吗?我该怎么做才能解决这个弃用问题?
  2. 任何其他建议,解释或链接"解释它就像我5"教程将是非常有帮助和欢迎.我用Google搜索并阅读了一些,但我仍然不理解这一点,并且变得越来越沮丧.看起来这应该是一个相对简单的概念.

Key*_*vat 7

回答为时已晚,但我仍在为其他人提供答案.这是因为Intent基本上与一个活动一起工作.片段不是活动,而是附加到活动.所以你只需要这样做:

Intent intent=getActivity().getIntent();
Run Code Online (Sandbox Code Playgroud)


Seb*_*lla 0

这意味着以后的版本将不再支持此方法。该方法仍保留在 API 中,以实现向后兼容,具体时间长短不定。大多数情况下,使用已弃用的方法是危险的,或者有更好的方法来实现这一点。就像这里描述的那样

在这种情况下,你应该使用:parseUri(String, int)来实现这一点(根据android 开发者 api)。