Как проверять что сервис запущен?

В моем проекте есть MainActivity и MyService. В разметке главного активити есть кнопка для запуска и остановки сервиса, как отображать состояние сервиса, то есть Запуск/Остановить. Хотелось бы переделать полностью логику слушателя нажатия, то есть, если сервис остановлен, при нажатии его запустить, и если сервис запущен, при нажатии его остановить. Как такое реализовать?

Код MyService:

package com.example.anticondesate

import android.app.Service

class WarmerService : Service() {
   override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        Toast.makeText(this, "Сервис запущен!", Toast.LENGTH_LONG).show()
        return START_NOT_STICKY
    }

    override fun onDestroy() {
        Toast.makeText(this, "Сервис остановлен!", Toast.LENGTH_LONG).show()
        super.onDestroy()
    }

    override fun onBind(intent: Intent?): IBinder? {
        return null
    }

Код MainActivity:

package com.example.anticondesate

import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val buttonStart: Button = findViewById(R.id.start_button)

        buttonStart.setOnClickListener {

        }
    }
}

Ответы (0 шт):