可穿戴设备上未显示通知操作图标

Notification Action Icon not displayed on Wearable

我正在尝试向通知添加操作并在可穿戴设备上显示操作按钮。以下代码显示了我如何创建一个动作并将其添加到 NotificationCompat 中,它将使用此处推荐的 NotificationManagerCompat 传送:https://developer.android.com/training/wearables/notifications/creating.html#Deliver

    NotificationCompat.Action declineActionDark = new NotificationCompat.Action(R.drawable.done_black, getString(R.string.accept), acceptInvitationPendingIntent);
    NotificationCompat.Action acceptActionDark = new NotificationCompat.Action(R.drawable.clear_black, getString(R.string.decline), declineInvitationPendingIntent);
    NotificationCompat.Action declineActionLight = new NotificationCompat.Action(R.drawable.done_white, getString(R.string.accept), acceptInvitationPendingIntent);
    NotificationCompat.Action acceptActionLight = new NotificationCompat.Action(R.drawable.clear_white, getString(R.string.decline), declineInvitationPendingIntent);

    NotificationCompat.WearableExtender wearableExtender =
            new NotificationCompat.WearableExtender()
                    .addAction(declineActionLight)
                    .addAction(acceptActionLight);

    Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    Notification notification = new NotificationCompat.Builder(getApplicationContext())
            .setContentTitle(getApplicationContext().getResources().getString(R.string.app_name))
            .setContentText(message)
            .setSound(defaultSoundUri)
            .setSmallIcon(R.drawable.place_white)
            .setLargeIcon(bitmap)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
            .addAction(declineActionDark)
            .addAction(acceptActionDark)
            .setAutoCancel(true)
            .setPriority(Notification.PRIORITY_HIGH)
            .extend(wearableExtender)
            .build();
    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(getApplicationContext());
    notificationManager.notify(notificationId, notification);

如您所见,我使用了两张不同的图片,一张深色一张浅色用于复选标记和拒绝图像。那是因为我想在我的 Marshmallow 测试设备的相当亮的通知区域有一个深色图像,在可穿戴操作按钮的相当暗的背景中有一个浅色图像。

这里的问题是可穿戴设备根本不显示图标。请参阅以下我的硬件可穿戴屏幕截图 运行 Android 6.0.1:

现实中,没有黑角。这似乎是 Android Wear 的屏幕截图工具的错误。但是,我想在操作按钮上显示图标。由于项目中的所有可绘制对象,done_white/_black 和 clear_white/black 都是矢量可绘制对象。我已经尝试将 PNG 用作可绘制对象,但它们也没有用。

我遇到了同样的问题,因为我使用的是 SVG 文件。 当我将其更改为 PNG 时,它开始工作了。

解决方案:使用 PNG 代替矢量 SVG