Intereting Posts
Как скачать файл с файлами google в android @IntDef Android поддерживает аннотацию с десериализацией Джексона Плагин Android Crashlytics не устанавливает библиотеку Выровнять значки навигации ActionBar над текстом вкладки? Pixel-пусковая установка продолжает останавливаться в эмуляторе Android 7.1.1 (API 25) Управление несколькими асинтесами для загрузки нескольких изображений из html-кода, утечки памяти, любых идей? Откройте настройки беспроводной сети из приложения Картвью Android с фрагментами нельзя добавить дважды? Android lollipop scrollview edge effect color Android FacebookSDK с помощью встроенного приложения Facebook запрашивает разрешения даже после того, как пользователь уже дал им Как создать простой Android-виджет Могу ли я создать Fragment ListActivity с пакетом совместимости v4? Получите текст с выделенными элементами? ContentObserver должен вызывать, если и только если ContactContract.Contacts.CONTENT_URI изменяет Как создать структуру тестового каталога проекта в Android Studio?

Уведомление Android Wear Notification не отображается, если используется FLAG_NO_CLEAR

Если используется флаг « FLAG_NO_CLEAR », уведомление не отображается на Android Wear.

Кто-нибудь знает, почему или какое-либо обходное решение? Я не нашел никакой информации в документации.

Мне нужен флаг « FLAG_NO_CLEAR » в моих уведомлениях и кнопка «Действия» для «увольнения», «отсрочки» и т. Д.!

Solutions Collecting From Web of "Уведомление Android Wear Notification не отображается, если используется FLAG_NO_CLEAR"

Флаг уведомления FLAG_NO_CLEAR основном делает ваше уведомление «продолжающимся». Текущие сообщения, отправленные с телефона, НЕ будут отображаться на носимом носителе.

У вас есть два решения вашей проблемы – оба они имеют преимущества и недостатки. Прочтите текст ниже и решите, какое решение лучше разрешит вашу ситуацию 🙂

Решение 1 – группа использования:

Вы можете использовать group функцию платформы Android Wear. Он в основном создан для публикации многих (сгруппированных) уведомлений на носимом устройстве и одного summary уведомления по телефону. Но используя этот механизм, вы также можете отправлять одно ongoing уведомление на свой телефон и второе уведомление только на износ. Вы получите одно ongoing уведомление на своем телефоне и одно стандартное уведомление на вашем носимом носителе.

  final NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); // This notification will be shown only on phone final NotificationCompat.Builder phoneNotificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Title phone") .setContentText("Text phone") .setOngoing(true) .setOnlyAlertOnce(true) .setGroup("GROUP") .setGroupSummary(true); // This notification will be shown only on watch final NotificationCompat.Builder wearableNotificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Title wearable") .setContentText("Text wearable") .setOngoing(false) .setOnlyAlertOnce(true) .setGroup("GROUP") .setGroupSummary(false); notificationManager.notify(0, phoneNotificationBuilder.build()); notificationManager.notify(1, wearableNotificationBuilder.build()); 

Этот метод позволит вам публиковать «альтернативное» уведомление только для просмотра, сохраняя ongoing уведомление по телефону. Но (как упоминалось ранее) уведомление о часах не может ongoing – оно должно быть обычным уведомлением. Если вы действительно хотите получить ongoing уведомление на часах, вам нужно перейти на второе решение.

Подробнее о группировании (укладке) уведомлений читайте здесь:
https://developer.android.com/training/wearables/notifications/stacks.html

Решение 2 – создайте пригодное для носки приложение:

Текущие уведомления с телефона не будут отображаться на часах, но вы можете создать ношу часть своего приложения для Android и опубликовать свое уведомление прямо на Android Wear. Вы можете легко публиковать текущее уведомление оттуда, но это будет не то же уведомление, что и на телефоне. Вам нужно будет синхронизировать их между обоими устройствами.

Узнайте больше о DataApi здесь:
https://developer.android.com/training/wearables/data-layer/index.html
https://developer.android.com/training/wearables/data-layer/data-items.html

Вы также можете взглянуть на мой пост, где я опубликовал код, демонстрирующий, как использовать DataApi на практике:
https://stackoverflow.com/a/24896043/3827276

Честно говоря, что-то действительно странное изменилось в ношении 1.5, поэтому решением было бы установить тревогу

 Uri alarmSound = getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Intent displayIntent = new Intent(this, WearNotif.class); //displayIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent displayPendingIntent = PendingIntent.getActivity(this, 0, displayIntent, PendingIntent.FLAG_UPDATE_CURRENT); Notification notification = new Notification.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("WeirdShit") .setContentText("some random crap") .extend(new Notification.WearableExtender() .setDisplayIntent(displayPendingIntent)) .setSound(alarmSound) .build(); NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); notificationManager.notify(25454, notification);