Android Wear:自定义通知

时间:2014-11-19 10:45:51

标签: android wear-os android-wear-notification

在手持设备中,可以使用 RemoteViews 显示自定义通知。 RemoteViews允许开发人员完全自定义通知。

Android Wear的相同方法是什么?应该使用哪个类来覆盖我自己的自定义UI的默认通知UI?

3 个答案:

答案 0 :(得分:4)

  1. 如果您只想自定义文本,可以使用SpannableString。它允许您更改标题/内容文本的颜色,背景,对齐方式。

  2. 如果你想创建完全不同的通知,你必须在你的服装项目中实现类似的smth

    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);
    
  3. WearNotificationActivity - 您自定义视图的活动容器。

    注意:即使您不需要,也必须使用.setSmallIcon(..)。 看起来像谷歌的bug,但如果没有此行通知将不会显示。

    并设置

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

    用于您的活动容器

答案 1 :(得分:1)

要为Android Wear创建丰富的通知,您必须使用support-v4中的NotificationCompat.Builder

此版本可让您使用.setActionButton().setStyle()等方法更好地控制Wear上的通知布局。

您甚至可以使用NotificationCompat.WearableExtender自定义通知。

Creating a Notification

了解详情

答案 2 :(得分:0)

目前无法做到这一点。 编辑:有可能:Custom UI for Android Wear Notifications

最好的选择是:

  • 在手机上创建通知,并对手机和Wear使用NotificationCompat.WearableExtender通知。
  • 使用setLocalOnly()创建通知,因此通知仅限于手机,而Wear会创建单独的通知 - 与其他外观,操作等。
  • 如上所述,但不是通过Wear创建通知,而是使用CardFrame创建自己的应用程序(允许您同时拥有"通知样式"和自定义布局,并且当从手机接收信号时运行您的应用而不是通知。

因此,只有最后一个选项允许您拥有自定义布局,但有许多缺点(因为它是自己的应用程序) - 例如它与通知列表分开。

希望将来可能发生变化。