Объясните по поводу работы сервиса, во время запуска приложения

Меня интересует, вот я сделал код. сервис например работает как музыкальный проигрыватель. В данном коде, что я написал, проблема такая - при нажатии на уведомление, сервис запускается заного, если это будет музыкальный плеер, то это же не правильная работа, а как сделать, чтобы сервис работал постоянно или как нужно правильно в таком случае делать?

package com.xverizex.service

import android.app.*
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.os.ResultReceiver
import android.util.Log
import android.widget.ThemedSpinnerAdapter
import android.widget.Toast
import androidx.core.app.JobIntentService


val JOB_ID : Int = 1000;

fun enqueueWork(context: Context, work: Intent) {
    JobIntentService.enqueueWork(context, SimpleJobIntentService::class.java, JOB_ID, work)
}

class SimpleJobIntentService : JobIntentService() {

    var handler = Handler(Looper.myLooper()!!)

    override fun onHandleWork(intent: Intent) {
        toast ("Executing: back")
        for ( i in 0 .. 10 ){
            try {
                Thread.sleep(1000)
            } catch (ex : InterruptedException) {

            }
        }
        handler.post {
            val nm = getSystemService(Service.NOTIFICATION_SERVICE) as NotificationManager
            val intent = Intent(this, MainActivity::class.java).apply {
                flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
            }
            val pendingIntent : PendingIntent = PendingIntent.getActivity(this,0,intent,0)
            val importance = NotificationManager.IMPORTANCE_DEFAULT
            val channel = NotificationChannel("test","test", importance).apply {
                description = "for test app"
            }
            nm.createNotificationChannel(channel)
            val builder = Notification.Builder(this,"test")
                    .setSmallIcon(R.drawable.ic_launcher_foreground)
                    .setContentTitle("hey")
                    .setContentText("what up?")
                    .setContentIntent(pendingIntent)
                    .setAutoCancel(true)

            nm.notify(0, builder.build())
        }
    }

    override fun onDestroy() {
        super.onDestroy()
    }

    fun toast (text : CharSequence) {
        handler.post {
            Toast.makeText(this@SimpleJobIntentService, text, Toast.LENGTH_SHORT).show()
        }
    }

}

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