我可以从OnCreate方法外部访问Intent.extras吗?

时间:2019-07-19 21:24:48

标签: android android-intent mvp

我正在使用Model-View-Presenter设计模式构建一个Android应用。我的应用程序收到Firebase消息传递通知,当我的应用程序未运行时,它会使用Intent将数据从通知栏传递到应用程序中。我已经完成所有这些工作,并且可以在onCreate方法中使用以下代码查看意图数据:

    intent.extras?.let {
        for (key in it.keySet()) {
            val value = intent.extras?.get(key)
            Log.d(TAG, "Key: $key Value: $value")
        }
    }

但是我想将此信息保存到演示者,并且演示者尚未创建。我可以在onCreate之后访问intents.extras吗?我尝试过并得到了一个空指针异常,因此它似乎在onCreate之后销毁了Intent对象。是这样吗我的演示者如何获得此数据?目前,我唯一的想法是在Activity中创建一个成员变量,然后将数据保存到onCreate中的该成员变量中,然后让演示者将其获取,但是我有点反对使用Model-View-主持人的设计模式有一个愚蠢的看法。

1 个答案:

答案 0 :(得分:0)

  

onCreate之后可以访问intents.extras吗?

是的

  

我尝试过并得到一个空指针异常,因此看来inCreate之后ontent对象被销毁了。是这样吗?

否。

但是,如果您有一个名为intent的属性或变量,那么intent.extras可能会引用该属性或变量,而不是在活动本身上调用getIntent()