确定是否从FCM通知中调用活动

时间:2018-07-31 21:46:09

标签: android firebase push-notification firebase-cloud-messaging

我正在为我的应用程序使用FCM通知。通知没有数据。因此,只要应用程序在后台运行,就会在通知上打开“主活动”。我的主要活动中有4个标签。如果要从通知中打开应用程序,则我想打开Tab4,否则要打开Tab 2。

我想检查Main活动是否从通知中打开。由于我的通知没有数据。我在Intent Extras中一无所获。

2 个答案:

答案 0 :(得分:0)

Extra上放置intent,以标识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
}

答案 1 :(得分:0)

通过通知消息(而非数据消息)打开应用程序时,该意图将包含一个source值,您可以检查该值以检测是否已使用通知打开了活动。

 if (intent.hasExtra("source")) {
     // set tab to 4
 }