如何从可穿戴通知中删除操作

时间:2017-01-27 12:56:08

标签: android wear-os android-wear-notification

我收到了一些动作通知。我想在穿着时展示它,但没有任何动作。怎么做?

builder.extend(new NotificationCompat.WearableExtender().addAction(null)); // Crashes
builder.extend(new NotificationCompat.WearableExtender().clearActions());  // Shows actions on Wear

2 个答案:

答案 0 :(得分:1)

一直在寻找删除可穿戴设备中的操作的任何功能,但找到SO post 1SO post 2,这基本上说明无法移除操作。但是,在Specify Wearable-only Actions中提到了

  

如果您希望可穿戴设备上的可用操作与掌上电脑上的操作不同,请使用WearableExtender.addAction()。使用此方法添加操作后,可穿戴设备不会显示添加了NotificationCompat.Builder.addAction()的任何其他操作。也就是说,只有WearableExtender.addAction()添加的操作才会出现在可穿戴设备上,并且它们不会出现在掌上电脑中。

这样,您可以选择尝试设置仅在可穿戴设备中显示的操作。

希望有所帮助!

答案 1 :(得分:0)

正如@Teyam所说,这不是直接可能的。一种解决方法是:

  1. 使用NotificationCompat.Builder.setLocalOnly()将通知设置为不与手表同步。
  2. 在手表上创建一个WearableListenerService,在收到特定消息时会在那里生成本地通知(没有操作)。
  3. 在生成原始通知的同时从掌上电脑应用中发送该消息。
  4. 我认识到这比简单地扩展原始通知要多得多。由您决定是否对可穿戴设备采取行动是值得的。