Kotlin 如何创建前台服务doens';不要在几个小时后停下来

Kotlin 如何创建前台服务doens';不要在几个小时后停下来,kotlin,mobile,service,android-jobscheduler,Kotlin,Mobile,Service,Android Jobscheduler,我做了一个前台服务,效果很好。但是,在运行几个小时后,它停止工作。几个小时后它又开始工作了。我需要一个不可阻挡的服务,或者比现在更不可阻挡的服务 class RastreioService : Service() { override fun onBind(intent: Intent?): IBinder? { TODO("Not yet implemented") } override fun onStartCommand(i

我做了一个前台服务,效果很好。但是,在运行几个小时后,它停止工作。几个小时后它又开始工作了。我需要一个不可阻挡的服务,或者比现在更不可阻挡的服务

class RastreioService : Service() {

    override fun onBind(intent: Intent?): IBinder? {
        TODO("Not yet implemented")
    }


    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        startForegroundService()
        /*business rules*/
        return START_STICKY
    }
    
    override fun onDestroy() {
        super.onDestroy()
    }


    private fun startForegroundService(){
        var notification = createNotification()
        val idService = 1
        startForeground(idService, notification)
    }

    private fun createNotification(): Notification {
        val notificationIntent = Intent(this, RastreioService::class.java)
        val pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

        val notification = Notification.Builder(this, "1")
            .setSmallIcon(R.drawable.ic_gps_ativo)
            .setContentTitle("Localização Sendo Acessada")
            .setContentText("A sua localização está sendo acessada")
            .setContentIntent(pendingIntent)
            .build()

        return notification
    }


}
我发现了一个类似的问题: 但是我不知道我需要在哪里以及如何使用JobScheduler,以及这是否是唯一的解决方案