背景,我正在使用firebase进行通知。我在我的应用程序通知中传递了额外信息以显示特定页面。这是通过在Json中的数据字段中添加额外数据来完成的。 (这部分正在运作)。
我发现默认情况下,通知点击会导致应用从头开始加载。加载后,当前的Intent拥有启动应用程序的数据,因此我可以调用
Bundle bundle = getIntent().getExtras();
从此捆绑包中获取我的额外数据。这工作正常,但我注意到它重新启动了应用程序,这似乎是一种浪费,所以我将应用程序更改为每次都不重启。在我的AndroidManifest.xml中,我添加了:
<activity android:name=".MainActivity" android:launchMode="singleTop">
让它重用应用程序。但是,当它执行此操作时,它不是从onStart()而不是onCreate()开始,而是我所期望的,但我发现getIntent()没有来自我点击的通知的数据,从文档中听起来像它的目的是创建应用程序。
所以问题是我如何才能获得导致我的应用程序“开始”(而不是创建)的Intent。我认为一种可能是听一下BroadcastManager,但不知道我是否应该这样做我目前没有活跃。