2017-01-27 10 views
1

У меня есть уведомление с несколькими действиями. Я хочу показать его на износ, но без каких-либо действий. Как это сделать?Как удалить действия из носящего уведомления

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

ответ

1

Искал какие-либо функции, чтобы удалить действия в носимых, но нашел SO post 1 и SO post 2, которые в основном заявить, что это не возможно, чтобы удалить действия. Это, однако, упоминается в Specify Wearable-only Actions что

Если вы хотите действия, доступные на носимых будут отличаться от тех, на КПК, а затем использовать WearableExtender.addAction(). Когда вы добавляете действие с помощью этого метода, носки не отображают никаких других действий, добавленных с помощью NotificationCompat.Builder.addAction(). То есть, только действия, добавленные с WearableExtender.addAction(), появляются на носимых, и они не отображаются на КПК.

При этом вы можете попробовать установить действие, которое появится только в пригодном для носки.

Надеюсь, что это поможет!

0

Как сказал @Teyam, это невозможно. Одним из способов может быть:

  1. Установите оповещения, чтобы не синхронизировать часы, используя NotificationCompat.Builder.setLocalOnly().
  2. Создайте WearableListenerService на часах, которые генерируют локальное уведомление там (без каких-либо действий) при получении определенного сообщения.
  3. Отправьте это сообщение из своего портативного приложения одновременно с созданием исходного уведомления.

Я признаю, что это довольно много работы, чем просто продление оригинального уведомления. Это зависит от вас, чтобы решить, стоит ли делать какие-либо действия на носимых.