Ist es möglich, den Standort über ein Mobilfunknetz zu ermitteln, wenn das Gerät keinen Datentarif hat?
oder ist ein Datentarif erforderlich, um den Standort über ein Mobilfunknetz abrufen zu können?
Wird ein Datentarif benötigt, um den Standort über ein Mobilfunknetz abzurufen?
Ja, das ist ohne Datenverbindung möglich, indem Sie zB UnifiedNLP und einen entsprechenden Ortungsanbieter verwenden . Ich verwende z. B. das LocalGsmNlpBackend , das eine Auswahl der OpenCellId- Datenbank (für den von mir benötigten Bereich) zur lokalen Verwendung auf das Gerät herunterlädt. Diese Datenbank enthält die Positionen von Mobilfunkmasten. Da Sie in mindestens einem davon gebucht sind, kann Ihr ungefährer Standort geschätzt werden. Fügen Sie für mehr Genauigkeit einen anderen Ortungsanbieter hinzu, der z. B. WLAN-basiert ist, wenn Sie dies wünschen. Abgesehen vom Herunterladen der Daten (am besten während Sie mit Ihrem Heim-WLAN verbunden sind) funktioniert dies komplett ohne Datenverbindung.
Stellen Sie sicher, dass Sie das richtige UnifiedNLP-Paket auswählen, je nachdem, ob auf Ihrem Gerät das Google-Framework installiert ist (Standard-ROM hat dies normalerweise oder wenn Sie ein benutzerdefiniertes ROM verwenden, aber GApps installiert haben) oder ein benutzerdefiniertes ROM ohne GApps verwenden.
Eine ausführlichere Beschreibung finden Sie in meinem Artikel Android ohne Google: microG , der die Variante auf einem Gerät ohne Google-Framework behandelt.
Unter Android kann Apps der Standort über zwei Arten von Berechtigungen gewährt werden: android.permission.ACCESS_COARSE_LOCATION
und/oderandroid.permission.ACCESS_FINE_LOCATION
von https://developers.google.com/maps/documentation/android-sdk/location#location_permissions
android.permission.ACCESS_COARSE_LOCATION – Ermöglicht der API, WLAN- oder Mobilfunkdaten (oder beides) zu verwenden, um den Standort des Geräts zu bestimmen. Die API gibt den Standort mit einer Genauigkeit zurück, die ungefähr einem Stadtblock entspricht.
android.permission.ACCESS_FINE_LOCATION – Ermöglicht der API, einen möglichst genauen Standort aus den verfügbaren Standortanbietern zu bestimmen, einschließlich des Global Positioning System (GPS) sowie WLAN- und Mobilfunkdaten.
Wenn Ihnen die App also das Wetter anzeigt, benötigt die App alles, ACCESS_COARSE_LOCATION
was dem Benutzer einen guten Standort für einen Radius von 10 Metern liefert, was gut genug ist, um zu wissen, wo sich diese Person für die Wetterbedingungen befindet. Dieses Maß an Genauigkeit kann mit WLAN oder Daten über Mobilfunkmasten erreicht werden.
Wenn es sich bei der App um eine Mitfahrgelegenheits-App handelt, ACCESS_FINE_LOCATION
wird benötigt, um den Standort des Benutzers auf wenige Meter zu ermitteln. Dies verwendet GPS, um den Standort des Benutzers zu ermitteln.
Jetzt kommen wir zu deiner Frage:
Ist es möglich, den Standort über ein Mobilfunknetz zu ermitteln, wenn das Gerät keinen Datentarif hat?
Wenn das mobile Gerät keinen Datenplan über das Mobilfunknetz UND keine Daten über WLAN hat, erhalten Apps keine COARSE_LOCATION
eindeutige Location Provider
(siehe @Izzy-Antwort).
Beachten Sie, dass die Netzbetreiber zumindest in den Vereinigten Staaten E911 unterstützen müssen, das im Notfall in der Lage sein soll, den Notfallbehörden den Standort des Telefons mitzuteilen.
Wenn Sie von einem Mobilfunknetz oder WLAN getrennt sind und kein spezialisiertes Location Provider
GPS verwenden, kann es Ihre Standortkoordinaten abrufen. Die Berechnung dieser Koordinaten erfordert Daten, die im Signal von den Satelliten bereitgestellt werden, dauert aber aufgrund der geringen Bandbreite viele Minuten. Koordinaten allein machen keine App, da jede Karten-App Ihre Kartendaten (Straßen, Sehenswürdigkeiten, Flüsse usw.) von dem Zeitpunkt an, an dem Sie Daten hatten, bis zu dem Zeitpunkt, an dem Sie keine Datenverbindung haben, vorab zwischenspeichern müsste. Eine Datenverbindung beschleunigt die Berechnung für FINE_LOCATION
.
There is NO generic casual user
und das sage ich als App-Entwickler. Beschreiben Sie besser, was Sie tun möchten, auch als User Story oder Use Case bekannt, und Sie erhalten eine fundiertere Antwort. Wenn Sie Navigation betreiben, müssen Sie FINE_LOCATION
den Stromverbrauch und die GPS-Ausfälle in städtischen Umgebungen berücksichtigen.Es gibt zwei grundlegende Möglichkeiten, ein Gerät zu orten:
Suchen Sie nach lokalen Funksender-IDs und schlagen Sie diese in einer Datenbank nach. Die Funktechnologie kann Mobilfunk, WiFi oder Bluetooth sein; das Prinzip ist das gleiche.
Wenn Sie die Datenbank nicht auf dem Gerät mitführen (der Normalfall), dann benötigen Sie eine Art Datenverbindung. Die Datenverbindung muss nicht denselben Sendersatz verwenden, der für die Standortsuche verwendet wird; Sie können WLAN-IDs über eine Mobilfunkdatenverbindung suchen, oder Sie können Mobilfunk-IDs über eine WLAN-Datenverbindung suchen.
Wenn Sie die Datenbank auf dem Gerät mitführen, benötigen Sie keine Datenverbindung. Schlagen Sie die ID in Ihrer lokalen Datenbank nach, wie in Izzys Antwort.
Morrison Chang
produktiver Benutzer
Morrison Chang
produktiver Benutzer
Morrison Chang
produktiver Benutzer
Morrison Chang
produktiver Benutzer