1

我有几个动作的通知。我想在穿着时展示它,但没有任何动作。怎么做?

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

2 回答 2

1

一直在寻找任何功能来删除可穿戴设备中的操作,但发现SO post 1SO post 2基本上表明无法删除操作。但是,在指定可穿戴设备操作中提到,

如果您希望可穿戴设备上可用的操作与手持设备上的操作不同,请使用WearableExtender.addAction(). 使用此方法添加动作后,可穿戴设备不会显示使用 . 添加的任何其他动作NotificationCompat.Builder.addAction()。也就是说,只有添加的动作WearableExtender.addAction()会出现在可穿戴设备上,而不会出现在手持设备上。

有了这个,您可以选择尝试设置仅在可穿戴设备中出现的操作。

希望有帮助!

于 2017-01-28T09:37:27.200 回答
0

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

  1. 使用 将通知设置为不同步到手表NotificationCompat.Builder.setLocalOnly()
  2. 在手表上创建一个WearableListenerService在收到特定消息时生成本地通知(没有操作)的手表。
  3. 在生成原始通知的同时从您的手持应用程序发送该消息。

我认识到这比简单地扩展您的原始通知要多得多。由您决定在可穿戴设备上不采取行动是否值得付出努力。

于 2017-01-28T15:17:23.997 回答