evgajukov
@evgajukov
Java разработчик

Не удается отобразить нотификацию в android wear, основанную на собственной активности. Что делаю не так?

Уже неделю бьюсь над проблемой и нигде не могу найти ее решение. Вроде все делаю правильно как описано в различных статьях по программированию android wear, но возможно я упускаю какой-то нюанс.

Я пытаюсь отобразить свою нотификацию в часах (обычная нотификация отображается без проблем, но меня ее вид не устраивает). Данные из смартфона в часы передаются нормально, но нотификация отображается пустой (при чем, судя по дебагу, в активности, которая должна отобразиться, даже не срабатывает onCreate)

Кусок кода сервиса на стороне часов:

Intent intent = new Intent(ListenerService.this, NotificationActivity.class);
intent.putExtra(NotificationActivity.EXTRA_TITLE, title);
intent.putExtra(NotificationActivity.EXTRA_BODY, body);
//intent.putExtra(NotificationActivity.EXTRA_IMAGE, asset);
PendingIntent pending = PendingIntent.getActivity(
ListenerService.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

InputStream assetInputStream = Wearable.DataApi.getFdForAsset(
googleClient, asset).await().getInputStream();

// Create the ongoing notification
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.extend(new NotificationCompat.WearableExtender()
.setDisplayIntent(pending)
.setBackground(BitmapFactory.decodeStream(assetInputStream))
.setCustomSizePreset(NotificationCompat.WearableExtender.SIZE_MEDIUM));

// Build the notification and show it
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(ListenerService.this);
notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());

В результате отправки данных с телефона, на часах отображается пустая нотификация
a99e0b11ec424b7caeb75d65b7284f5a.png

Пробовал как в эмуляторе, так и на реальных часах, в логах все чисто и никаких ошибок нет.

Что я делаю не так? Куда копать?
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы