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 - он всегда делает этот раздражающий шум пинга с всплывающим уведомлением:-(

Если канал не определен, уведомление просто не появится. Это не желаемое поведение.

Какие-либо предложения?

Спасибо

0 ответов

Другие вопросы по тегам