确定是不是从 FCM 通知调用活动
Posted
技术标签:
【中文标题】确定是不是从 FCM 通知调用活动【英文标题】:Determine if activity is called from FCM notification or not确定是否从 FCM 通知调用活动 【发布时间】:2018-07-31 21:46:08 【问题描述】:我正在为我的应用使用 FCM 通知。通知没有数据。因此,只要应用程序在后台,主活动就会在通知上打开。我的主要活动有 4 个选项卡。如果应用程序是从通知中打开的,我想打开 Tab4,否则是 Tab 2。
我想检查主要活动是否从通知中打开。因为我的通知没有数据。我不会在 Intent extras 中得到任何东西。
【问题讨论】:
【参考方案1】:在intent
上添加Extra
以识别Activity
启动的来源
从通知调用时这样做
Intent notificationsIntent = new Intent(NotificationsActivity.this, MainActivity.class);
notificationsIntent.putExtra("Source", "Notification");
startActivity(notificationsIntent);
在你的MainAcitivity
中点赞
if(getIntent().getStringExtra("Source") == "Notification")
//set current tab to 4
else
//set current tab to 2
【讨论】:
【参考方案2】:当应用通过通知消息(不是数据消息)打开时,intent 将包含一个source
值,您可以检查该值以检测是否使用通知打开了活动。
if (intent.hasExtra("source"))
// set tab to 4
【讨论】:
以上是关于确定是不是从 FCM 通知调用活动的主要内容,如果未能解决你的问题,请参考以下文章
使用 Java,而不是 FCM 控制台发送 Firebase 通知