几个小时后如何停止前台服务

时间:2020-08-20 14:43:36

标签: kotlin mobile service android-jobscheduler

我做了一个前台服务,它正在工作。但是,运行数小时后,它将停止工作。数小时后,它又恢复了工作。我需要一种可以让您无法停止运行的服务,或者说它比现在更不可阻挡的服务

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
    }


}

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

0 个答案:

没有答案