Android Wear - 使用指定的纯色作为通知背景

时间:2015-07-15 21:23:09

标签: android android-notifications wear-os

出于某种原因,我不能让这个简单的概念适用于Android的佩戴。我希望Wear上的通知具有纯色背景和我选择的颜色。这就是我想要做的事情:

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder
            .setContentTitle("title")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentText("Text")
            .setColor(Color.YELLOW);

    Notification notification = builder.build();
    notificationManager.notify(123456, notification);

如您所见,我将通知颜色设置为黄色。这确实将通知背景设置为手机上的黄色。但出于某种原因,我在Android Wear上看到的通知的背景颜色是绿色的。请参阅随附的屏幕截图。

enter image description here

enter image description here

我尝试使用WearableExtender扩展通知构建器,但它没有类似“setColor”的方法,只有“setBackground”。为什么Wear会忽略指定的通知颜色?它从哪里采取绿色背景颜色?如何覆盖该颜色?

1 个答案:

答案 0 :(得分:10)

图标颜色的绿色背景。

enter image description here

您可以调用WearableExtender setBackground方法

    int notificationId = 001;

    Bitmap bitmap = Bitmap.createBitmap(320,320, Bitmap.Config.ARGB_8888);
    bitmap.eraseColor(Color.YELLOW);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder.setContentTitle("title")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentText("Text")
            .extend(new NotificationCompat.WearableExtender().setBackground(bitmap));

    NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
    notificationManagerCompat.notify(notificationId , builder.build());

enter image description here