Я загружаю файл с помощью службы переднего плана, но когда я приостанавливаю загрузку, я хочу остановить службу, поэтому я сделал следующее:
, запустив службу
val intent = Intent(context, IdmService::class.java)
context.startService(intent)
context.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE)
остановка службы
context.unbindService(serviceConnection)
context.stopService(Intent(context, IdmService::class.java))
обновление уведомлений
private fun updateInfo(title: String, downloadedSize: Long, totalSize: Long) {
notification.setContentTitle(title)
notification.setContentText("${formatBytes(downloadedSize)}/${formatBytes(totalSize)}")
notification.setContentInfo(downloadSpeed)
notification.setProgress(100, progress, false)
startForeground(STICKY_NOTIFICATION_ID, notification.build())
}
Но когда я прекращаю службу, требуется 5 секунд, чтобы скрыть уведомление. Я попытался прокомментировать startForeground(STICKY_NOTIFICATION_ID, notification.build())
, тогда он мгновенно скрыл уведомление. Я хочу скрыть уведомление мгновенно, когда я прекращаю службу. Я считаю, что метод startForeground
является асин c, поэтому после того, как я убил, служба ожидает завершения метода startForeground
.