繁体   English   中英

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

[英]How to get getIntent() to return null after Activity called with an Intent set

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

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

基本上,在扩展FragmentActivityActivity ,有两个实例,在Fragment中我将Intent传递给此Activity。

这是有问题的代码:

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

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

setIntent试图解决我的问题,但它无法正常工作。

当我点击一个返回我的Activity作为Intent的链接,然后我转到下一个片段,然后我旋转手机,当我调用getIntent时,两个Fragments之前传递的Intent再次出现时,会发生什么。

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

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

我找到了一个似乎有效的解决方案,但我希望有更好的方法。

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

我认为setIntent没有任何用处,但是setData(null)似乎可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM