Hallo,
weil ich Zeit und Spaß dazu hatte... Ich habe mich nochmal intensiver mit microG und der Standortermittlung (Locations) beschäftigt.
Zur Erinnerung - Für microG sollte installiert sein:
- microG Services Core (GmsCore)
- microG Services Framework Proxy (GfsProxy)
- microG Companion (vormals FakeStore microG Store)
Damit ist auch -weil in GmsCore enthalten- Unified Network Location Provider (UnifiedNlp) installiert.
zu UnifiedNlp siehe auch
Wikipedia Fingerprinting (WLAN) - Praktische Anwendungen
Prinzipiell funktioniert die Standortermittlung in mobilen Geräten:
- über Satellit (GPS/GNSS)
- und/oder Mobilfunk (Funkzellen)
- und/oder WLAN/WiFi
Zu UnifiedNlp gilt
microG (Components):
Kommentar: Wir haben bereits die Variante "included in GmsCore" installiert, man braucht keine weitere App installieren.
Unified Network Location Provider (UnifiedNlp) is a library that provides Wi-Fi- and Cell-tower-based geolocation to applications that use Google’s network location provider. It is included in GmsCore but can also run independently on most Android systems
Installation:
Unified Network Location Provider is provided in 3 variants:
- NetworkLocation.apk – for the usual configuration of Android 4.4+ without GApps
- LegacyNetworkLocation.apk – for the usual configuration of Android 2.3 - 4.3.1 without GApps
- UnifiedNlp.apk – for Android WITH Gapps
microG GmsCore project already includes the Unified Network Location Provider.
Usage: UnifiedNlp alone does not provide any features, but acts as a middleware for multiple backends. Most of them can be downloaded and updated using F-Droid. Here is a list of backends known to me.
Backends for geolocation and geocoding… (Liste
Backends)
Standalone Apps für UnifiedNpl (F-Droid) -
braucht man nicht wg. "inbuild", s.o.:
Testing:
Unter microG Einstellungen - Location habe ich alles nur mögliche aktiviert:
- WiFi-location: request Mozilla, request Hotspot, remember GPS
- Mobile network location: request Mozilla, remember GPS
- Address resolver: use nominatim
unter Android/ShiftOS Einstellungen:
- Standortdienste WLAN-Suche und Bluetooth aktiviert
- WLAN und parallel Mobile Daten (LTE) sowie Standortermittlung sind eingeschaltet
und rebootet (zur Sicherheit)
Als Test App habe ich dann "
My Location" genutzt
- Berechtigung Standort gewährt
Man kann dort Standortermittlung nach GPS, Network(?) und UnifiedNlp Backends auswerten:
- GPS is usually the most accurate method. But a position fix may take some time or may not work at all due to signal loss. Lock GPS feature runs a persistent service to keep connected with the satellites.
You can also see the list of visible satellites with their PRNs (unique identifiers) and SNR (signal quality).
- Network Location Provider uses Wi-Fi or Cellular ids to estimate the location. On the devices with Google Play Services installed, NLP usually uses Google Location Service at backend.
- UnifiedNLP is an open source API which has been used to develop multiple NLP backends (Backends).
Testet man obige Konstellation ohne UnifiedNlp Backends, so wird nur GPS genutzt (Network Not supported, UnifiedNlp keine Nutzung).
Man bekommt in der App auch eine Download Möglichkeit für UnifiedNlp Backends (Link zu
Backends).
Installiert man z.B. Local NLP Backend (als Fork von Déjà Vu, von
F-Droid) -> GPS in Kombination mit Mobilfunk (Funkzellen) und/oder WLAN/WiFi
- Berechtigung Standort (immer) gewährt
und rebootet (zur Sicherheit), dann wird neben GPS auch UnifiedNlp genutzt (Local NLP Backend).
Ich habe dann zusätzlich
installiert
- MozillaNlpBackend Berechtigung Standort (immer) und Telefon gewährt (warum Telefon???)
- NominatimNlpBackend benötigt keine Berechtigung
und rebootet (zur Sicherheit), dann wird unter UnifiedNlp auch MozillaNlpBackend angezeigt, Network Not supported bleibt weiterhin und ist auch nicht aktivierbar.
NominatimNlpBackend wird nicht angezeigt, aber ggf. weil das wg "Geocoding" ein spezielles Backend ist?
Geocoding
puh, das war eine Menge Testing, Kommentare welcome
vor allem zur Frage: Warum kann man in der App "My Location" bzw. generell die Standortermittlung nach Network nicht auswerten bzw. aktivieren? Geht das ggf. nur mit Google Diensten?