如何为 android 磨损通知指定无操作?

How to specify no actions for android wear notifications?

我有几个通知操作,但是我不希望 任何 在 android wear 上可用。我知道我可以为 android wear 指定自定义操作列表,但如何指定 none? (我已经尝试使用空列表添加操作,但没有成功 - 然后它只显示所有操作)

我认为这在标准方式下是不可能的。如果您在 WearableExtender 中指定至少 1 个动作,那么普通动作将被替换为可穿戴动作,但正如您所说 - 您希望有 0 个可穿戴动作。

对我来说,你有 2 个解决方案:

  1. 使用 Wea​​rableExtender 的 API 设计 post 替代动作版本。如果确实有任何 phone 操作不能在 watch 上使用,也许您可​​以想到任何其他有用的方法。能够从手表执行任何操作不会伤害用户。当然,如果这对你的情况有意义。

  2. 如果你想 "hack" 一点,你可以 "clone" 通知并让他们成为同一组的一部分。如果您将一个设置为“group summary”,那么一个将仅显示在 phone 上,而另一个将仅在可穿戴设备上可见。这样你就可以设置完全独立的动作集。

示例代码:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
// configure your builder without actions
builder.setGroup(GROUP_TAG);
builder.setGroupSummary(false);
notificationManager.notify(WEARABLE_NOTIFICATION_ID, builder.build());

// add some actions that will be visible only on phone
builder.addAction(...)
builder.addAction(...)
builder.setGroupSummary(true);
notificationManager.notify(PHONE_NOTIFICATION_ID, builder.build());