我正在使用Firebase Messaging开发应用程序。当我的应用程序在后台时,我可以收到通知,当用户点击通知时,默认打开我的应用程序(跳转到主要活动)
SplashActivity是主要的活动,它只能活3秒,并立即启动MainScreenActivity
SplashActivity(Main通过getIntent获取firebase消息有效负载) - > MainScreenActivity
点击通知后,我希望我的应用程序打开DetailActivity,所以我喜欢这样 已点击通知 - > SplashActivity收到有效负载 - > localbroadcast。 MainScreenActivity接收广播然后打开DetailActivity(我从MainActivity打开DetailActivity) - > DetailActivity。
但是应用程序的行为就像我不想要的那样 已点击通知 - > SlashActivity - > MainActivity - > DetailActivity - > MainActivity
我可以通过这些代码获取有效载荷
if (getIntent().getExtras() != null) {
for (String key : getIntent().getExtras().keySet()) {
String value = getIntent().getExtras().getString(key);
Log.d(TAG, "Key: " + key + " Value: " + value);
startOtherActivity();
}
}
我想打开“OtherActivity”当用户点按通知时。我得到了日志(有效负载),当用户点击通知时我可以启动“OtherActivity”。但问题是它跳到“OtherActivity”然后突然跳回到我的MainActivity。我猜它默认跳转到我的MainActivity,如何删除默认行为?
我只能通过getIntent()获取MainActivity中的有效负载。如何在其他活动中获取有效负载,因为我的主要活动是SplashActivity,它只能活3秒