diff options
Diffstat (limited to 'android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterStatusProvider.java')
-rw-r--r-- | android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterStatusProvider.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterStatusProvider.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterStatusProvider.java index b90a55684..078fe104c 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterStatusProvider.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterStatusProvider.java @@ -136,11 +136,21 @@ public class SdlRouterStatusProvider { } else { bindingIntent.putExtra(FOREGROUND_EXTRA, true); SdlBroadcastReceiver.setForegroundExceptionHandler(); //Prevent ANR in case the OS takes too long to start the service - context.startForegroundService(bindingIntent); + try { + context.startForegroundService(bindingIntent); + } catch (SecurityException | IllegalStateException e) { + SdlBroadcastReceiver.handleStartServiceException(e); + } } bindingIntent.setAction(TransportConstants.BIND_REQUEST_TYPE_STATUS); - return context.bindService(bindingIntent, routerConnection, Context.BIND_AUTO_CREATE); + boolean didBind = false; + try { + didBind = context.bindService(bindingIntent, routerConnection, Context.BIND_AUTO_CREATE); + } catch (SecurityException | IllegalStateException e) { + SdlBroadcastReceiver.handleStartServiceException(e); + } + return didBind; } private void unBindFromService() { |