traccar / traccar-client-android

Traccar Client for Android
https://www.traccar.org/client
Apache License 2.0
661 stars 731 forks source link

Don't start service without location permissions #317

Open tananaev opened 6 years ago

tananaev commented 6 years ago

To avoid crash:

Exception java.lang.SecurityException: "network" location provider requires ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission.
android.os.Parcel.readException (Parcel.java:1599)
android.os.Parcel.readException (Parcel.java:1552)
com.mapzen.android.lost.internal.IFusedLocationProviderService$Stub$Proxy.requestLocationUpdates (IFusedLocationProviderService.java:254)
com.mapzen.android.lost.internal.FusedLocationProviderApiImpl.requestLocationUpdatesInternal (FusedLocationProviderApiImpl.java:195)
com.mapzen.android.lost.internal.FusedLocationProviderApiImpl.requestLocationUpdates (FusedLocationProviderApiImpl.java:162)
org.traccar.client.PositionProvider.onConnected (PositionProvider.java:94)
com.mapzen.android.lost.internal.FusedLocationServiceConnectionManager.onServiceConnected (FusedLocationServiceConnectionManager.java:86)
com.mapzen.android.lost.internal.FusedLocationProviderApiImpl.onServiceConnected (FusedLocationProviderApiImpl.java:94)
android.app.LoadedApk$ServiceDispatcher.doConnected (LoadedApk.java:1266)
android.app.LoadedApk$ServiceDispatcher$RunConnection.run (LoadedApk.java:1283)
android.os.Handler.handleCallback (Handler.java:815)
android.os.Handler.dispatchMessage (Handler.java:104)
android.os.Looper.loop (Looper.java:207)
android.app.ActivityThread.main (ActivityThread.java:5816)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:789)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:679)
oliv3 commented 6 years ago

I can't reproduce this with 5.11 or master. Starting without location permissions makes the status back to stopped, and the application doesn't crash. Can't find the "fix #" entry in the logs, though.