是否需要检查通知通道是否已创建?
Posted
技术标签:
【中文标题】是否需要检查通知通道是否已创建?【英文标题】:Is check that notification channel is already created needed? 【发布时间】:2020-01-06 10:28:14 【问题描述】:我们是否需要在创建通知通道之前检查它尚未创建?
private fun createChannel()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
// todo: add here check if channel is already created
val defaultChannel = NotificationChannel(MEDIA_UPLOAD_NOTIFICATION_CHANNEL_ID, MEDIA_UPLOAD_NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH)
defaultChannel.description = MEDIA_UPLOAD_NOTIFICATION_CHANNEL_DESC
defaultChannel.enableVibration(true)
notificationManager.createNotificationChannel(defaultChannel)
【问题讨论】:
【参考方案1】:不,您实际上不必检查。如果存在具有相同 ID 的频道,则 android 不会创建另一个频道。
根据文档
使用其原始值创建现有通知通道不会执行任何操作,因此在启动应用程序时调用此代码是安全的。
更多信息https://developer.android.com/training/notify-user/channels#CreateChannel
【讨论】:
【参考方案2】:按照文档中的建议。
如果创建具有相同原始值的 NotificationChannel,则不会进行任何操作。所以,调用代码是安全的。
请查看文档了解更多详情 - https://developer.android.com/training/notify-user/channels#CreateChannel
【讨论】:
以上是关于是否需要检查通知通道是否已创建?的主要内容,如果未能解决你的问题,请参考以下文章