-
Notifications
You must be signed in to change notification settings - Fork 320
Closed
Labels
bugDefect to be fixed.Defect to be fixed.
Description
Android API: 28 (Android 9)
Mapbox Navigation SDK version: 0.24.0
Steps to trigger behavior
- Starting navigation activity via the launcher
Expected behavior
- No crash / error
Actual behavior
- Crashes due to a missing permission.
Looks like the migration guide for api 28 states that a foreground permission is necessary for foreground services now.
https://developer.android.com/about/versions/pie/android-9.0-migration#tya
Its not considered a dangerous permission so adding the permission to the manifest fixed the issue, just wanted to give you guys the heads up in case you wanna add it to any getting started guides/sample app.
stack trace:
java.lang.SecurityException: Permission Denial: startForeground from pid=23263, uid=10259 requires android.permission.FOREGROUND_SERVICE
at android.os.Parcel.createException(Parcel.java:1950)
at android.os.Parcel.readException(Parcel.java:1918)
at android.os.Parcel.readException(Parcel.java:1868)
at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:5198)
at android.app.Service.startForeground(Service.java:695)
at com.mapbox.services.android.navigation.v5.navigation.NavigationService.startForegroundNotification(NavigationService.java:130)
at com.mapbox.services.android.navigation.v5.navigation.NavigationService.startNavigation(NavigationService.java:66)
at com.mapbox.services.android.navigation.v5.navigation.MapboxNavigation.onServiceConnected(MapboxNavigation.java:727)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1730)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1762)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6680)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.am.ActivityManagerService.enforcePermission(ActivityManagerService.java:9189)
at com.android.server.am.ActiveServices.setServiceForegroundInnerLocked(ActiveServices.java:1189)
at com.android.server.am.ActiveServices.setServiceForegroundLocked(ActiveServices.java:870)
at com.android.server.am.ActivityManagerService.setServiceForeground(ActivityManagerService.java:20458)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:976)
Metadata
Metadata
Assignees
Labels
bugDefect to be fixed.Defect to be fixed.