В классе AppWidgetProvider
у меня работает простой CountDownTimer
.
object : CountDownTimer(30000, 1000) {
override fun onTick(millisUntilFinished: Long) {
val appWidgetManager = AppWidgetManager.getInstance(context)
val views = RemoteViews(context.packageName,R.layout.view_group)
views.setTextViewText(R.id.m_text_view,"seconds remaining: " + millisUntilFinished / 1000)
appWidgetManager.updateAppWidget(appWidgetIds[0], views)
}
override fun onFinish() {
// Do nothing
}
}.start()
Это обновляет соответствующий виджет (appWidgetIds[0]
), как и ожидалось, но это только в случае, когда приложениеоткрыт.Когда я смахиваю приложение в меню последних, закрывая его, виджет перестает обновляться.
Я тоже пытался использовать отдельный сервис, но результат тот же.Предположительно, потому что служба не является службой переднего плана, и я не хочу получать постоянное уведомление, поэтому я не могу использовать службу переднего плана.