将我的项目升级到 Android O 后
buildToolsVersion "26.0.1"
Android Studio 中的 Lint 显示以下通知生成器方法已弃用的警告:
new NotificationCompat.Builder(context)
问题是: Android 开发人员更新了他们描述 NotificationChannel 的文档,以支持 Android O 中的通知,并为我们提供了一个片段,但同样有弃用的警告:
Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();
我的问题: 是否有任何其他构建通知的解决方案,并且仍然支持 Android O?
我找到的一个解决方案是在 Notification.Builder 构造函数中将通道 ID 作为参数传递。但是这个解决方案并不是完全可重用的。
new Notification.Builder(MainActivity.this, "channel_id")
原文由 GuilhermeFGL 发布,翻译遵循 CC BY-SA 4.0 许可协议
文档中提到,构建器方法
NotificationCompat.Builder(Context context)
已被弃用。我们必须使用具有channelId
参数的构造函数:NotificationCompat.Builder 文档:
Notification.Builder 文档:
如果您想重用构建器设置器,您可以使用
channelId
创建构建器,并将该构建器传递给辅助方法并在该方法中设置您的首选设置。