StackOverFlow中几乎没有与此类似的问题,但是没有一个解决方案对我有用。
我的应用程序正在运行后台服务以进行位置跟踪。除Android Pie外,每个操作系统都可以正常工作。一段时间(约10分钟)后,Android Pie终止了后台服务。
服务代码如下。
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
return START_STICKY
}
override fun onCreate() {
super.onCreate()
startForeground(N_ID_ONGOING_RACE, notification)
}
按如下所示启动服务。
fun startServiceEx(context: Context, intent: Intent) {
try {
context.startService(intent)
} catch (e: IllegalStateException) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(intent)
} else {
context.startService(intent)
}
}
}
任何帮助将不胜感激。