Android Wear通知的意外图标和背景颜色

时间:2014-09-17 11:58:48

标签: android android-notifications wear-os

我正在开发一个使用NotificationManager发送通知的应用。我设置了一个Android Wear模拟器,并将我的Android手机连接到模拟器。我的应用生成的通知显示在Android Wear模拟器上,但使用的图标和颜色不是我所期望的。

通知使用3个图标中的1个作为通知图标,并为3个案例中的每一个设置不同的LED颜色。我在手表模拟器上看到的通知使用应用程序图标,而不是我在通知中设置的图标。此外,通知的背景颜色是纯红色背景,我不确定是什么设置它的颜色。

如何在手表上显示我的通知以匹配我设置的通知图标,以及如何更改BG颜色?!

下面,粉红色框是应用程序图标(而不是我期望的通知图标)。

Watch Notification

2 个答案:

答案 0 :(得分:1)

通知图标来自手持应用程序的res / drawable文件夹。你在res / drawable-hdpi文件夹中有一个同名的图标吗?

http://developer.android.com/training/wearables/notifications/creating.html

注意:与setBackground()一起使用的位图对于非滚动背景应该具有400x400的分辨率,对于支持视差滚动的背景应该具有640x400的分辨率。将这些位图图像放在掌上电脑应用程序的res / drawable-nodpi目录中。将其他非位图资源放置在掌上电脑应用的res / drawable-hdpi目录中,用于可穿戴通知,例如setContentIcon()方法使用的那些。

答案 1 :(得分:0)

据我所知,LED的颜色与可穿戴通知无关。默认情况下,背景颜色会选中图标及其豁免,如果您设置了一个大图标图像,它将使用此图标。由于那个大图标图像的质量很差,还有另一个要求实现这一目标的要求。这是一个完整的例子:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
        .setContentTitle("title")
        .setContentText("message")
        // replace the drawable if you want something else
        .setSmallIcon(R.drawable.ic_launcher);

NotificationCompat.WearableExtender extender =
                                    new NotificationCompat.WearableExtender();
Bitmap bg = BitmapFactory.decodeResource(context.getResources(),
                                         R.drawable.background);
// in the line above you can change the background image
extender.setBackground(bg);
builder.extend(extender);

NotificationManagerCompat notificationManager =
                          NotificationManagerCompat.from(context);
notificationManager.notify(42, builder.build());