GCM - 已显示通知负载但如何处理 "click"

GCM - Notification Payload shown but how to handle "click"

我已经使用 GCM Messaging Concepts and Options - Notifications and data in the message payload 实现了 GCM。

仅数据有效载荷按预期运行良好。但现在我正在发送数据和通知负载。通知按预期显示在设备上。 但是如何处理用户 clicks/touches 的通知。我知道如何使用 data 负载来做到这一点。这是如何使用 notification 有效载荷完成的?

我相信您正在寻找的是在 NotificationBuilder 函数中创建一个 PendingIntent。这样,当用户单击通知栏中的通知时,它将启动该待定 Intent。

我自己找到了答案。通知负载中有一个 属性 可以传递一个动作。

例如:

GCM 消息

{
    "data" : {
        // some data
    },
    "notification" :  {
        // title, body etc
        click_action = "com.my.click",
    },
    "id" : "id1"
}

AndroidManifest

<activity
    android:name=".activities.MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.my.click" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

更多信息

Notification payload support