GCM - 如何处理“点击”事件,当通知负载已显示

3
我已经使用GCM实现了“通知和消息有效载荷”中的GCM消息概念和选项-消息有效负载中的数据
仅使用数据有效负载(Only-Data Payloads)能够正常工作。但是现在我正在发送数据和通知有效负载。通知像预期的那样显示在设备上。但是如何处理用户点击/触摸通知的操作?我知道如何使用“数据”有效负载来做到这一点。那么如何使用“通知”有效负载呢?
2个回答

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

GCM消息

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

Android清单文件

<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>

更多信息:

通知负载支持


1
把'id'字段放在'data'对象内部不是更合理吗?这样做有什么区别吗? - MatanCo

-1

我相信你要做的是在你的NotificationBuilder函数中创建一个PendingIntent。这样当用户点击通知栏中的通知时,它将启动该Pending Intent。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接