1

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

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

4

3 回答 3

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(..)即使不需要,也必须使用。似乎是一个谷歌错误,但没有此行通知将不会显示。

并设置

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

为您的活动容器

于 2014-11-24T14:33:59.703 回答
1

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

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

您甚至可以使用NotificationCompat.WearableExtender.

在创建通知中了解更多信息

于 2014-11-19T11:13:23.300 回答
0

目前没有办法做到这一点。编辑:有可能:Android Wear 通知的自定义 UI

最好的选择是:

  • 在手机上创建通知并NotificationCompat.WearableExtender为手机和 Wear 使用通知。
  • 使用这样的通知创建setLocalOnly()通知将仅限于手机,并在 Wear 上创建单独的通知 - 具有其他外观、操作等。
  • 执行上述操作,但不是在 Wear 上创建通知,而是使用 CardFrames 创建自己的应用程序(这允许您同时拥有“通知样式”和自定义布局,并且当从手机接收信号时运行您的应用程序而不是通知。

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

希望将来可能会改变。

于 2014-11-19T21:28:44.947 回答