From 0cc40f7f10d0a345f92bddcc2723482fa6baf149 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Fri, 28 Aug 2020 20:23:32 +0200 Subject: [PATCH] Service: do not crash on service restart after reboot --- src/SystemEventReceiver.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/SystemEventReceiver.scala b/src/SystemEventReceiver.scala index cd7483b..7420480 100644 --- a/src/SystemEventReceiver.scala +++ b/src/SystemEventReceiver.scala @@ -1,6 +1,7 @@ package org.aprsdroid.app import android.content.{BroadcastReceiver, Context, Intent} +import android.os.Build class SystemEventReceiver extends BroadcastReceiver { val TAG = "APRSdroid.SystemEventReceiver" @@ -8,7 +9,12 @@ class SystemEventReceiver extends BroadcastReceiver { override def onReceive(ctx : Context, i : Intent) { android.util.Log.d(TAG, "onReceive: " + i) val prefs = new PrefsWrapper(ctx) - if (prefs.getBoolean("service_running", false)) - ctx.startService(AprsService.intent(ctx, AprsService.SERVICE)) + if (prefs.getBoolean("service_running", false)) { + val i = AprsService.intent(ctx, AprsService.SERVICE) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + ctx.startForegroundService(i) + else + ctx.startService(i) + } } }