2014-10-03 3 views
4

Я немного смущен документацией на носимые уведомления.Следует ли использовать уведомления NotificationCompat и NotificationManagerCompat для того, чтобы уведомления отображались на носимых?

Если у меня есть существующее приложение, использующее Notification.Builder и NotificationManager.notify(), уведомления автоматически также отображаются на сопряженном носимом носителе или приложение должно быть изменено для использования NotificationCompat.Builder и NotificationManagerCompat.notify() ?

Если нет необходимости использовать классы XXXCompat для уведомлений, которые должны появляться на носимом носителе, есть ли какая-либо польза/использование при их использовании вместо вариантов non Compat?

+1

Лично я всегда использую 'NotificationCompat.Builder', поэтому у меня есть стабильный API для версий Android. Я могу сказать вам, что «NotificationManagerCompat» не требуется только для того, чтобы «Извещение» отображалось на Wear, но оно необходимо для уложенных в стек уведомлений, по крайней мере, если вы хотите получить сводное уведомление на основном устройстве (телефоне/планшете). Я подозреваю, что некоторые из других функций, ориентированных на Wear (например, страницы), могут также потребовать его. – CommonsWare

ответ

7

NotificationManagerCompat требуется для всех Носите специальные функции (что-то добавляется через WearableExtender, часть NotificationCompat.Builder) в delivering notifications:

При использовании фреймворка NotificationManager, некоторые функции из NotificationCompat.WearableExtender не работают, поэтому обязательно используйте NotificationCompat.

Однако основные оповещения, отправленные через NotificationManager, действительно будут зеркально отражены на устройствах Android Wear без проблем.

Как CommonsWare упоминается в своем комментарии, гораздо проще писать уведомления, которые хорошо смотрятся на всех версиях API, используя NotificationCompat. Это станет еще более важным, когда выйдет Android L (там, где есть множество Android L notification changes), которые, если только вы не нацеливаете только устройства Android L +, вам необходимо использовать NotificationCompat для доступа.

 Смежные вопросы

  • Нет связанных вопросов^_^