Код решения здесь.
CodeLab генерирует уведомления в этом фрагменте кода. На протяжении всей лаборатории он рассказывает о уведомлениях, появляющихся как всплывающие окна, но они этого не делают. Они появляются только в уведомлении, который должен быть открыт, чтобы просмотреть их. Это затрудняет следование прогрессу уведомлений по мере их возникновения (что является целью уведомлений в этом упражнении). Я бы предпочел, чтобы они были всплывающими окнами, и знать, как делать/включить всплывающие уведомления в целом.
что-то изменилось? Я не нашел разрешение на конкретное приложение, которое влияет на это. Есть ли более новый способ сделать всплывающие уведомления, которые CodeLab не обновляется для использования, или уведомления о всплывании больше не разрешены с API 34 ?
Вот фактический код: < /p>
Код: Выделить всё
fun makeStatusNotification(message: String, context: Context) {
// Make a channel if necessary
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Create the NotificationChannel, but only on API 26+ because
// the NotificationChannel class is new and not in the support library
val name = VERBOSE_NOTIFICATION_CHANNEL_NAME
val description = VERBOSE_NOTIFICATION_CHANNEL_DESCRIPTION
val importance = NotificationManager.IMPORTANCE_HIGH
val channel = NotificationChannel(CHANNEL_ID, name, importance)
channel.description = description
// Add the channel
val notificationManager =
context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager?
notificationManager?.createNotificationChannel(channel)
}
// Create the notification
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle(NOTIFICATION_TITLE)
.setContentText(message)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setVibrate(LongArray(0))
// Show the notification
NotificationManagerCompat.from(context).notify(NOTIFICATION_ID, builder.build())
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... on-android
Мобильная версия