使用操作按钮创建 GCM 推送消息
Creating GCM Push Messages with action buttons
我看到一些发送推送通知的应用程序有自定义按钮来执行某些操作。
我在这里查看了 GCM 推送通知服务器文档:
https://developer.android.com/google/gcm/server-ref.html#table1
但没有关于如何执行此操作的参考。
这是在设备端而不是服务器端完成的。
的完整执行
考虑在设备上创建 Notifications。
这是代表带有按钮的通知的片段,如第二个所指出的那样link:
Notification notification = new Notification.Builder(context)
// Show controls on lock screen even when user hides sensitive content.
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setSmallIcon(R.drawable.ic_stat_player)
// Add media control buttons that invoke intents in your media service
.addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0
.addAction(R.drawable.ic_pause, "Pause", pausePendingIntent) // #1
.addAction(R.drawable.ic_next, "Next", nextPendingIntent) // #2
// Apply the media style template
.setStyle(new Notification.MediaStyle()
.setShowActionsInCompactView(1 /* #1: pause button */)
.setMediaSession(mMediaSession.getSessionToken())
.setContentTitle("Wonderful music")
.setContentText("My Awesome Band")
.setLargeIcon(albumArtBitmap)
.build();
我看到一些发送推送通知的应用程序有自定义按钮来执行某些操作。
我在这里查看了 GCM 推送通知服务器文档: https://developer.android.com/google/gcm/server-ref.html#table1
但没有关于如何执行此操作的参考。
这是在设备端而不是服务器端完成的。
的完整执行考虑在设备上创建 Notifications。
这是代表带有按钮的通知的片段,如第二个所指出的那样link:
Notification notification = new Notification.Builder(context)
// Show controls on lock screen even when user hides sensitive content.
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setSmallIcon(R.drawable.ic_stat_player)
// Add media control buttons that invoke intents in your media service
.addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0
.addAction(R.drawable.ic_pause, "Pause", pausePendingIntent) // #1
.addAction(R.drawable.ic_next, "Next", nextPendingIntent) // #2
// Apply the media style template
.setStyle(new Notification.MediaStyle()
.setShowActionsInCompactView(1 /* #1: pause button */)
.setMediaSession(mMediaSession.getSessionToken())
.setContentTitle("Wonderful music")
.setContentText("My Awesome Band")
.setLargeIcon(albumArtBitmap)
.build();