Сервис прорабатывает только 1 раз
В MainActivity я запускаю AlarmManager, который каждые 24 часа должен обращаться к моему сервису MyService при нажатии на кнопку. Я нажимаю на кнопку, проходит 24 часа, сервис срабатывает и меняет значение моего виджета. Проходит еще 24 часа - сервис не работает. Что с ним делать? Буду очень благодарен! P.s. есть предположение, что это из-за того, что я запускаю сервис в MainActivity один раз, а после этого закрываю приложение, MainActivity соответственно тоже закрывается.
Кусок MainActivity.kt
private fun initFuncs() {
startBtn.setOnClickListener {
writeData()
startBroadcast()
}
stopBtn.setOnClickListener {
deleteData()
stopBroadcast()
}
}
private fun stopBroadcast() {
stopService(Intent(this, MyService::class.java))
}
private fun startBroadcast() {
val intent = Intent(this, MyService::class.java)
val pendingIntent =
PendingIntent.getService(applicationContext, 1, intent, PendingIntent.FLAG_IMMUTABLE)
val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager
alarmManager.setInexactRepeating(
AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(),
AlarmManager.INTERVAL_DAY,
pendingIntent
)
Toast.makeText(this, "Alarm will ring after every 15 minutes interval", Toast.LENGTH_LONG)
.show()
}
Кусок MyService.kt
override fun onCreate() {
super.onCreate()
Paper.init(this)
Toast.makeText(this, "onCreate", Toast.LENGTH_SHORT).show()
checkData()
pasteData()
}