android - Firebase Cloud Messaging (FCM) - 当用户点击带有附加功能的通知时启动 Activity

标签 android android-notifications firebase-cloud-messaging firebase-notifications

我试图在用户点击通知时打开一个特定的 Activity ,当应用程序在后台时,有一些额外的参数。我正在使用 click_action,它工作正常,应用打开了所需的 Activity。

现在我需要服务器向此 Activity 传递一个额外的参数,一个 id,这样我就可以显示与通知相关的所需详细信息。就像电子邮件应用程序一样,当我们单击通知时会打开该特定电子邮件的详细信息。

我该怎么做?

最佳答案

好的,我找到了解决方案。

这是我从服务器发送到应用程序的 json

{
  "registration_ids": [
    "XXX",
    ...
  ],
  "data": {
    "id_offer": "41"
  },
  "notification": {
    "title": "This is the Title",
    "text": "Hello I'm a notification",
    "icon": "ic_push",
    "click_action": "ACTIVITY_XPTO"
  }
}

在 AndroidManifest.xml

<activity
    android:name=".ActivityXPTO"
    android:screenOrientation="sensor"
    android:windowSoftInputMode="stateHidden">
    <intent-filter>
        <action android:name="ACTIVITY_XPTO" />        
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

当应用程序关闭或在后台并且用户单击通知时,它会打开我的 ActivityXPTO,以检索我只需要做的 id_offer

public class ActivityXPTO extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ...

        String idOffer = "";

        Intent startingIntent = getIntent();
        if (startingIntent != null) {
            idOffer = startingIntent.getStringExtra("id_offer"); // Retrieve the id
        }

        getOfferDetails(idOffer);
    }

    ...
}

就是这样......

关于android - Firebase Cloud Messaging (FCM) - 当用户点击带有附加功能的通知时启动 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37565599/

相关文章:

android - 如何添加通知计数器 Android

reactjs - FCM 网络推送通知 Google Analytics

android - 单击后退按钮时, Activity 组不会刷新 Activity

android - 将数据从移动应用程序发送到 Android Wear 延迟

Android - 在 EditText 中更改文本后*做一些事情

安卓 : Call a Fragment Method from a service

android - FCM 通知 "click_action"不工作

java - 布局高于另一个

java - 服务启动时显示的Android通知在创建后立即取消

android - 试图建立我自己的通知,但没有任何效果