Android Wear:定制通知

Android Wear:定制通知,android,wear-os,android-wear-notification,Android,Wear Os,Android Wear Notification,在手持设备中,可以使用显示自定义通知。RemoteView允许开发人员完全定制通知 Android Wear有什么相同的方法?应该使用哪个类用我自己的自定义类覆盖默认通知UI?要为Android Wear创建丰富的通知,必须使用support-v4中的NotificationCompat.Builder 此版本使用.setActionButton或.setStyle等方法,可以更好地控制磨损时的通知布局 您甚至可以使用NotificationCompat.WearableExtender自定义通

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


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

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

此版本使用.setActionButton或.setStyle等方法,可以更好地控制磨损时的通知布局

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


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

此版本使用.setActionButton或.setStyle等方法,可以更好地控制磨损时的通知布局

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


了解更多信息目前没有办法做到这一点。 编辑:可以:

最好的选择是:

在手机上创建通知,并对手机和手机使用NotificationCompat.WearableExtender通知。 使用setLocalOnly创建通知,以便通知仅限于手机,并在佩戴时创建单独的通知-使用其他外观、操作等。 如上所述,但不要在佩戴时发出通知。使用CardFrames创建自己的应用程序,允许您同时拥有通知样式和自定义布局,并且在收到手机信号时运行应用程序而不是通知。 所以,只有最后一个选项允许您自定义布局,但有许多缺点,因为它是自己的应用程序-例如,它是独立于通知列表


希望将来能有所改变。

目前没有办法做到这一点。 编辑:可以:

最好的选择是:

在手机上创建通知,并对手机和手机使用NotificationCompat.WearableExtender通知。 使用setLocalOnly创建通知,以便通知仅限于手机,并在佩戴时创建单独的通知-使用其他外观、操作等。 如上所述,但不要在佩戴时发出通知。使用CardFrames创建自己的应用程序,允许您同时拥有通知样式和自定义布局,并且在收到手机信号时运行应用程序而不是通知。 所以,只有最后一个选项允许您自定义布局,但有许多缺点,因为它是自己的应用程序-例如,它是独立于通知列表

希望这在未来可能会改变

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

如果您想创建完全不同的通知,您必须在您的wear项目中实现类似的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);
其中WearNotificationActivity-自定义视图的活动容器

注意:您必须使用.setSmallIcon。。即使你不需要它。 看起来像是谷歌的bug,但是如果没有这一行,就不会显示通知

设定

 android:allowEmbedded="true"
 android:taskAffinity=""
用于您的活动容器

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

如果您想创建完全不同的通知,您必须在您的wear项目中实现类似的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);
其中WearNotificationActivity-自定义视图的活动容器

注意:您必须使用.setSmallIcon。。即使你不需要它。 看起来像是谷歌的bug,但是如果没有这一行,就不会显示通知

设定

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

对于您的活动容器

谢谢您的回答,但我已经完成了这一部分。NotificationCompat和WearableExtender只允许我们定义动作并设置动作图标。我想做的是创建一个完全定制的通知。谢谢你的回答,但我已经完成了这部分。NotificationCompat和WearableExtender只允许我们定义动作并设置动作图标。我想做的是创建一个完全定制的通知。我已尽可能更新了我的答案,请看这里:我已尽可能更新了我的答案,请看这里:添加setSmallIcon方法绝对必要。见鬼,我已经浪费了两个小时,只是为了Android开发人员没有指定那个细节。添加setSmallIcon方法是绝对必要的。见鬼,我已经浪费了两个小时,只是为了Android开发人员没有指定那个细节。