2014-11-19 5 views
1

В портативных устройствах пользовательские уведомления могут отображаться с использованием RemoteViews. RemoteViews позволяет разработчику полностью настроить уведомление.Android Wear: Пользовательские уведомления

Каков способ сделать то же самое для Android Wear? Какой класс следует использовать для переопределения пользовательского интерфейса уведомления по умолчанию с моим собственным настроенным?

+0

Я обновил свой ответ, как это возможно, посмотрите здесь: http://stackoverflow.com/questions/28603086/custom-ui -for-android-wear-notification/ –

ответ

1

Чтобы создать богатое уведомление для Android Wear, вы должны использовать NotificationCompat.Builder из support-v4.

Эта версия дает вам лучший контроль над макетом уведомлений на Wear с помощью таких методов, как .setActionButton() или .setStyle().

Вы даже можете настроить свое уведомление с помощью NotificationCompat.WearableExtender.

Узнайте больше на Creating a Notification

+0

Благодарим вас за ответ, но я уже закончил эту часть. NotificationCompat и WearableExtender позволяют нам определять действия и устанавливать значки действий. Я ищу, чтобы создать полностью настроенное уведомление. – Swayam

0

В настоящее время нет никакого способа сделать это. EDIT: можно: Custom UI for Android Wear Notifications

Лучшего варианта там есть:

  • Создать уведомление по телефону и использовать NotificationCompat.WearableExtender уведомления для телефона, так и износ.
  • Создать уведомление с setLocalOnly() так уведомление будет ограниченно телефону, так и на износе создать отдельные один - с другим взглядом, действия и т.д.
  • Делайте, как описан выше, но вместо уведомления о Wear создать собственное приложение с CardFrames (что позволяет чтобы иметь «стиль уведомления» и пользовательский макет в то же время, а также при получении сигнала от телефона запустите приложение вместо уведомления.

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

Надежды, которые могут измениться в будущем.

4
  1. Если вы хотите настроить текст, вы можете использовать SpannableString. Он позволяет изменять цвет, фон, выравнивать текст заголовка/содержимого.

  2. , если вы хотите создать совершенно другое уведомление, вы должны реализовать аналогичную л в вашем изнашивания проекте

    Intent notificationIntent = new Intent(context, WearNotificationActivity.class); 
    PendingIntent pendingNotificationIntent = 
         PendingIntent.getActivity(context, 0, notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT); 
    
        Notification notification = 
          new Notification.Builder(context) 
            .setSmallIcon(R.drawable.ic_launcher) 
    
            // .setContentTitle("CustomNotification") 
            .extend(new Notification.WearableExtender() 
              .setDisplayIntent(pendingNotificationIntent) 
              .setCustomSizePreset(Notification.WearableExtender.SIZE_LARGE) 
              .setStartScrollBottom(false) 
              .setHintHideIcon(true)) 
    
            .build(); 
    
        NotificationManager notificationManager = 
          (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE); 
    
        notificationManager.notify(0, notification); 
    

где WearNotificationActivity - активность контейнер вас настраиваемое представление.

ПРИМЕЧАНИЕ: вы должны использовать .setSmallIcon(..), даже если вам это не нужно. Кажется, ошибка Google, но без этого уведомления линии не будет отображаться.

и установить

android:allowEmbedded="true" 
android:taskAffinity="" 

для контейнера деятельности

+0

Абсолютно необходимо добавить метод setSmallIcon(). Черт, я потратил два часа на то, чтобы разработчики Android не указали эту деталь. –