OnePlus3 Oreo - уведомление ForegroundService всегда слышно
Я пытаюсь перейти на Oreo на OnePlus3, но когда я пытаюсь использовать ForegroundService, уведомление всегда слышно (или не видно).
Вот что я делаю
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel(CHANNEL_ID, "FgService", NotificationManager.IMPORTANCE_MIN).apply {
description = "Running man channel"
setSound(Uri.fromFile(silenceFile), AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build()) // tried without it, tried setSound(null, null)... no luck
enableLights(false)
(getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(this)
}
}
val notificationIntent = Intent(this, MainActivity::class.java)
val pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0)
val notificationBuilder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Notification.Builder(this, CHANNEL_ID)
} else {
@Suppress("DEPRECATION")
Notification.Builder(this)
}
val builder = notificationBuilder.setContentTitle(getText(R.string.notification_title))
.setContentText(getText(R.string.notification_message))
.setSmallIcon(R.drawable.ic_bug_report_white_24dp)
.setContentIntent(pendingIntent)
.setOnlyAlertOnce(true)
.setTicker(getText(R.string.ticker_text))
startForeground(ONGOING_NOTIFICATION_ID, builder.build())
Обратите внимание, что я попытался установить Sound(null, null) и, как показывает код, я попытался воспроизвести мелодию молчания. Неудачно.
Я попробовал тот же код на эмуляторе, и он работает как шарм. На OnePlus3 - он всегда делает этот раздражающий шум пинга с всплывающим уведомлением:-(
Если канал не определен, уведомление просто не появится. Это не желаемое поведение.
Какие-либо предложения?
Спасибо