通知立即消失
Notification disappears immediately
这是前台服务启动时运行的代码。
val serviceChannel = NotificationChannel( CHANNEL_ID,
"SC noti", // 채널표시명
NotificationManager.IMPORTANCE_MIN)
serviceChannel.setShowBadge(false)
val fallChannel = NotificationChannel( FALL_CHANNEL_ID, "SC fall noti", NotificationManager.IMPORTANCE_HIGH)
val notificationSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val audioAttributes = AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_MUSIC).build()
fallChannel.enableVibration(true)
fallChannel.setSound(notificationSound, audioAttributes)
fallChannel.setShowBadge(true)
val notification: Notification = Notification.Builder(this, CHANNEL_ID)
.setContentTitle(getText(R.string.notification_title))
.setContentText(getText(R.string.notification_message))
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentIntent(pendingIntent)
.setTicker(getText(R.string.ticker_text))
.build()
val manager = this.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
manager.createNotificationChannel(serviceChannel)
manager.createNotificationChannel(fallChannel)
startForeground(SC_NOTIFICATION_ID, notification)
这是在我的前台服务中满足特定条件时执行的代码。
(getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).let{ notificationManager ->
val builder: Notification.Builder = Notification.Builder(this@BLEService, FALL_CHANNEL_ID)
.setContentTitle("낙상 감지")
.setContentText("낙상이 감지되었습니다.")//취소 기능 추가해야함
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setTicker(getText(R.string.ticker_text))
notificationManager.notify(SC_FALL_NOTIFICATION_ID, builder.build())
}
由于前台服务应始终在“通道”中可见的限制,我们将该通道与通知通道分开。
serviceChannel 会正常收到通知(服务[=21=时显示,停止服务时消失)。
但是当我用通知通知它时,fallChannel 消失得太快了。 0.1秒?它立即消失,无法检查。
我将优先级设置为 HIGH,现在弹出一个弹出通知,我可以查看它,但它仍然比通知中心的光快,然后立即消失。
无论是进入phone桌面还是锁屏状态都是一样的。
通知一发布,它就消失了。它似乎由于某种未知原因被删除。
有谁知道原因吗?
+) 应用右上角徽章上的“1”标记也会在显示后立即消失
对于遇到与我相同问题的任何人。
不知道为什么,在设置中打开“允许通知访问”的“辅助功能”就解决了。
这是前台服务启动时运行的代码。
val serviceChannel = NotificationChannel( CHANNEL_ID,
"SC noti", // 채널표시명
NotificationManager.IMPORTANCE_MIN)
serviceChannel.setShowBadge(false)
val fallChannel = NotificationChannel( FALL_CHANNEL_ID, "SC fall noti", NotificationManager.IMPORTANCE_HIGH)
val notificationSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val audioAttributes = AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_MUSIC).build()
fallChannel.enableVibration(true)
fallChannel.setSound(notificationSound, audioAttributes)
fallChannel.setShowBadge(true)
val notification: Notification = Notification.Builder(this, CHANNEL_ID)
.setContentTitle(getText(R.string.notification_title))
.setContentText(getText(R.string.notification_message))
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentIntent(pendingIntent)
.setTicker(getText(R.string.ticker_text))
.build()
val manager = this.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
manager.createNotificationChannel(serviceChannel)
manager.createNotificationChannel(fallChannel)
startForeground(SC_NOTIFICATION_ID, notification)
这是在我的前台服务中满足特定条件时执行的代码。
(getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).let{ notificationManager ->
val builder: Notification.Builder = Notification.Builder(this@BLEService, FALL_CHANNEL_ID)
.setContentTitle("낙상 감지")
.setContentText("낙상이 감지되었습니다.")//취소 기능 추가해야함
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setTicker(getText(R.string.ticker_text))
notificationManager.notify(SC_FALL_NOTIFICATION_ID, builder.build())
}
由于前台服务应始终在“通道”中可见的限制,我们将该通道与通知通道分开。 serviceChannel 会正常收到通知(服务[=21=时显示,停止服务时消失)。 但是当我用通知通知它时,fallChannel 消失得太快了。 0.1秒?它立即消失,无法检查。 我将优先级设置为 HIGH,现在弹出一个弹出通知,我可以查看它,但它仍然比通知中心的光快,然后立即消失。 无论是进入phone桌面还是锁屏状态都是一样的。 通知一发布,它就消失了。它似乎由于某种未知原因被删除。 有谁知道原因吗?
+) 应用右上角徽章上的“1”标记也会在显示后立即消失
对于遇到与我相同问题的任何人。 不知道为什么,在设置中打开“允许通知访问”的“辅助功能”就解决了。