Android kotlin как можно реализовать foreground service?
Есть TextView в котором при помощи DateUtils.getRelativeTimeSpanString указывается время последнего обновления базы "3 секунды назад" , "2 часа назад" и тд. Как можно реализовать процесс который допустим каждые 5 секунд будет смотреть время последнего обновления базы и отображать в TextView. Background Worker работает по расписанию в фоне, но ограничен в 15 минутный интервал, какими современными способами можно реализовать такой, пускай и foregrground service c 5-10 секундным интервалом для API23 и выше?
Ответы (1 шт):
Автор решения: Maks
→ Ссылка
Повторять какие-то действия в активити можно так:
//update interval for widget
override val UPDATE_INTERVAL = 5000L
//Handler to repeat update
private val updateWidgetHandler = Handler()
//runnable to update widget
private var updateWidgetRunnable: Runnable = Runnable
{
run {
//Update UI
updatetime()
// Re-run it after the update interval
updateWidgetHandler.postDelayed(updateWidgetRunnable, UPDATE_INTERVAL)
}
}
// SATART updating in foreground
override fun onResume() {
super.onResume()
updateWidgetHandler.postDelayed(updateWidgetRunnable, UPDATE_INTERVAL)
}
// REMOVE callback if app in background
override fun onPause() {
super.onPause()
updateWidgetHandler.removeCallbacks(updateWidgetRunnable);
}