【问题标题】:How to remove actions from wearable notification如何从可穿戴通知中删除操作
【发布时间】:2017-01-27 12:56:08
【问题描述】:
我收到了包含几个操作的通知。我想在穿着时展示它,但没有任何动作。该怎么做?
builder.extend(new NotificationCompat.WearableExtender().addAction(null)); // Crashes
builder.extend(new NotificationCompat.WearableExtender().clearActions()); // Shows actions on Wear
【问题讨论】:
标签:
android
wear-os
android-wear-notification
【解决方案1】:
一直在寻找可删除可穿戴设备中动作的任何功能,但发现 SO post 1 和 SO post 2 基本上表明无法删除动作。但是,Specify Wearable-only Actions 中提到了
如果您希望可穿戴设备上可用的操作与手持设备上的操作不同,请使用WearableExtender.addAction()。使用此方法添加操作后,可穿戴设备不会显示使用NotificationCompat.Builder.addAction() 添加的任何其他操作。即只有用WearableExtender.addAction()添加的动作出现在可穿戴设备上,而不会出现在手持设备上。
这样,您可以选择尝试设置仅在可穿戴设备中出现的操作。
希望有帮助!
【解决方案2】:
正如@Teyam 所说,这是不可能的。一种解决方法是:
- 使用
NotificationCompat.Builder.setLocalOnly() 将通知设置为不同步到手表。
- 在手表上创建一个
WearableListenerService,当收到特定消息时,它会在该处生成本地通知(无操作)。
- 在生成原始通知的同时从您的手持应用发送该消息。
我认识到这比简单地扩展您的原始通知要多得多。由您来决定在可穿戴设备上不采取行动是否值得。