diff options
author | jandegr <jandegr@users.noreply.github.com> | 2018-04-14 07:33:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-14 07:33:30 +0200 |
commit | c42a8f519b84fe79ea642f497d179daeabefd65e (patch) | |
tree | 265e4520a3280c5c57add8c6df0e10c364af2730 | |
parent | 30d60427713441207665108881bc1d9d3563b24a (diff) | |
parent | de575f13ffb08bd60019c5e7523fa7eadd8bdd2a (diff) | |
download | navit-c42a8f519b84fe79ea642f497d179daeabefd65e.tar.gz |
Merge pull request #440 from navit-gps/Android_permission
Android permission
-rw-r--r-- | navit/android/src/org/navitproject/navit/NavitVehicle.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitVehicle.java b/navit/android/src/org/navitproject/navit/NavitVehicle.java index 313502b96..e1a9c70f1 100644 --- a/navit/android/src/org/navitproject/navit/NavitVehicle.java +++ b/navit/android/src/org/navitproject/navit/NavitVehicle.java @@ -20,11 +20,12 @@ package org.navitproject.navit; import java.util.List; - +import android.Manifest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.PackageManager; import android.location.Criteria; import android.location.GpsSatellite; import android.location.GpsStatus; @@ -33,6 +34,9 @@ import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.util.Log; +import android.support.v4.content.ContextCompat; + + public class NavitVehicle { @@ -76,6 +80,11 @@ public class NavitVehicle { * Called when the status of the GPS changes. */ public void onGpsStatusChanged (int event) { + if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + // Permission is not granted + return; + } GpsStatus status = sLocationManager.getGpsStatus(null); int satsInView = 0; int satsUsed = 0; @@ -110,6 +119,11 @@ public class NavitVehicle { * {@code android.location.GPS_FIX_CHANGE} is received, indicating a change in GPS fix status */ NavitVehicle (Context context, int pcbid, int scbid, int fcbid) { + if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + // Permission is not granted + return; + } this.context = context; sLocationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); preciseLocationListener = new NavitLocationListener(); |