Intereting Posts
Как создать полностью настраиваемый диалог / всплывающее окно в Android (изменить цвет наложения и расположение диалогового окна) Использование ADB для захвата экрана NoSuchMethodError с использованием кодека commonc в приложении для Android Когда я запускаю Thread второй раз: java.lang.IllegalThreadStateException: Thread уже запущен Загрузить Bitmap с RGB_565 через Picasso Реагирование на многоканальные проводные наушники Как избежать обратного проектирования файла APK? Как изменить размер текста элемента NavigationView? Android WallpaperManager crop изображения Android SDK Build Tool Несколько версий Android: наложение на предварительный просмотр камеры на Android Как закончить приложение для Android? Как добавить один и тот же взгляд к родительскому несколько раз, раздувая его только один раз Есть ли использование favicon.ico для мобильных сайтов? ErrnoException: isConnected failed: EHOSTUNREACH (без маршрута к хосту) при изменении сети Wi-Fi с использованием ICS

Уведомление 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);