diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index ee0833309..8f07d32d8 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@ limitations under the License.
android:required="false" />
+
diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java
index 7ae099bee..fd841a463 100644
--- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java
+++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java
@@ -18,6 +18,8 @@ package de.dennisguse.opentracks.services;
import android.app.Service;
import android.content.Intent;
+import android.content.pm.ServiceInfo;
+import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.PowerManager.WakeLock;
@@ -205,7 +207,11 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
private void startSensors() {
wakeLock = SystemUtils.acquireWakeLock(this, wakeLock);
trackPointCreator.start(this, handler);
- startForeground(TrackRecordingServiceNotificationManager.NOTIFICATION_ID, notificationManager.setGPSonlyStarted(this));
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ startForeground(TrackRecordingServiceNotificationManager.NOTIFICATION_ID, notificationManager.setGPSonlyStarted(this), ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE);
+ } else {
+ startForeground(TrackRecordingServiceNotificationManager.NOTIFICATION_ID, notificationManager.setGPSonlyStarted(this));
+ }
}
public void endCurrentTrack() {
diff --git a/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java b/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java
index b8c42e31e..eecec56a6 100644
--- a/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java
+++ b/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java
@@ -25,11 +25,11 @@ public class AltitudeCorrectionManager {
public AltitudeCorrectionManager() {
this.altitudeConverterFallback = new EGM2008Internal();
- this.altitudeConverter = Build.VERSION.SDK_INT >= 34 ? new AltitudeConverter() : null;
+ this.altitudeConverter = Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE ? new AltitudeConverter() : null;
}
public void correctAltitude(Context context, TrackPoint trackPoint) {
- if (Build.VERSION.SDK_INT >= 34 && altitudeConverter != null) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE && altitudeConverter != null) {
try {
Location loc = trackPoint.getLocation();
altitudeConverter.addMslAltitudeToLocation(context, loc);