diff --git a/src/main/java/de/dennisguse/opentracks/util/PermissionRequester.java b/src/main/java/de/dennisguse/opentracks/util/PermissionRequester.java index 625813732..41c3b2fab 100644 --- a/src/main/java/de/dennisguse/opentracks/util/PermissionRequester.java +++ b/src/main/java/de/dennisguse/opentracks/util/PermissionRequester.java @@ -54,10 +54,18 @@ public class PermissionRequester { } ); - locationPermissionRequest.launch(permissions.toArray(permissions.toArray(new String[0]))); + locationPermissionRequest.launch(permissions.toArray(new String[0])); } - private static final List GPS_PERMISSION = List.of(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION); + private static final List GPS_PERMISSION; + + static { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + GPS_PERMISSION = List.of(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION); + } else { + GPS_PERMISSION = List.of(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION); + } + } private static final List BLUETOOTH_PERMISSIONS;