似乎已在WearExtender for API级别28:Android 9中弃用了setContentIcon。
有没有人有解决方法?我的代码:
if (mHighPriority) {
final NotificationCompat.WearableExtender wearableExtender = new NotificationCompat.WearableExtender();
// TODO: deprecation, but docs do not suggest any alternatives...
//noinspection deprecation
wearableExtender.setContentIcon(R.drawable.ic_notice_important);
mBuilder.extend(wearableExtender);
}
它被标记为@Deprecated,但在文档中没有建议替代方案。
此外,文档顶部的示例代码建议使用令人困惑的setContentIcon:
Notification notification = new NotificationCompat.Builder(mContext) .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .extend(new NotificationCompat.WearableExtender() .setContentIcon(R.drawable.new_mail)) .build(); NotificationManagerCompat.from(mContext).notify(0, notification);
我没有对此进行测试,因为我还有其他弃用问题,导致我的项目暂时无法在Android 9上运行。但似乎代码仍然存在,所以尽管被弃用,它仍然可以工作。如果是这种情况,我会尝试更新问题。
API代码:
/** @deprecated */
@Deprecated
public NotificationCompat.WearableExtender setContentIcon(int icon) {
this.mContentIcon = icon;
return this;
}
但我想我可能需要编写自定义通知布局来重新创建这个已弃用的功能?