将项目升级到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吗?
我发现的解决方案是将通道ID作为Notification.Builder构造函数中的参数传递。但是此解决方案并非完全可重用。
new Notification.Builder(MainActivity.this, "channel_id")
notificationBuild.setChannelId("channel_id")
。在我的情况下,由于NotificationCompat.Builder
可以通过几种方法重用我的后一种解决方案,因此可以更重用,从而节省了图标,声音和振动的参数。