我做了一个前台服务,它正在工作。但是,运行数小时后,它将停止工作。数小时后,它又恢复了工作。我需要一种可以让您无法停止运行的服务,或者说它比现在更不可阻挡的服务
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,这是否是唯一的解决方案