Warum muss ich Ortungsdienste aktivieren, um mich mit einem Bluetooth-Gerät zu koppeln?


16

Wenn ich versuche, mein Samsung Galaxy S6 mit Android 6.0.1 mit einem Bluetooth-fähigen Gerät zu verbinden, werde ich aufgefordert, "Ortungsdienste" zu aktivieren.

Als ich mich darüber beschwerte, antwortete der Softwareanbieter: "Für kürzlich durchgeführte Aktualisierungen der Google Android-API, die die Bluetooth LE-Technologie betreffen, müssen Standortberechtigungen erteilt werden, damit die App verwendet werden kann."

Ich sehe keine Notwendigkeit dafür.

Diese Diskussion spricht darüber. Die technische Referenz besagt, dass die Apps bestimmte Berechtigungen haben müssen , nicht, dass Ortungsdienste aktiv sind.

Um über Bluetooth und Wi-Fi-Scans auf die Hardware-IDs von externen Geräten in der Nähe zugreifen zu können, muss Ihre App jetzt über die Berechtigungen ACCESS_FINE_LOCATION oder ACCESS_COARSE_LOCATION verfügen

Frage : Bedeutet dies, dass die Aussage des Softwareherstellers falsch ist?


Das Berechtigungssystem ist mit der MM-Umstrukturierung definitiv völlig überfrachtet (Erklärungen besagen, dass sie "Bluetooth-Beacons" im Hinterkopf hatten, mit denen Sie lokalisiert werden könnten). Meines Erachtens ist Ihr Zweifel berechtigt und die Aussage des Anbieters falsch: Apps benötigen die Erlaubnis, um auf Bluetooth zugreifen zu können. Aber wenn sie einen Ortungsdienst brauchen, um die Hardware zu finden ("Biegen Sie an der zweiten Lötstelle rechts ab, passieren Sie den Transistor an Gate 3 ..."), wäre ich überrascht. Ich bezweifle sehr, dass die Ortungsdienste dafür aktiviert sein müssen, aber ich habe kein MM-Gerät, das ich verifizieren könnte.
Izzy

Antworten:


6

Mein Verständnis von Bluetooth ist, dass Anwendungen, die Bluetooth verwenden, direkten Zugriff auf die Geräte-MAC-Adresse haben, um sie zu koppeln. Ich werde dies für diese Antwort annehmen.

Wenn Sie die MAC-Adressen von WLAN- oder Bluetooth-Sendern lesen können, können Sie ein Gerät suchen. So funktioniert die WiFi / Bluetooth-Ortung; Sie suchen nach MAC-Adressen von Sendern und suchen diese in einer riesigen globalen Datenbank.

Daher ist theoretisch jede Anwendung, die Bluetooth und eine Datenverbindung verwendet, in der Lage, Ihr Gerät zu lokalisieren. Ich bin mir nicht sicher, ob dies praktisch möglich ist. Bluetooth verfügt nicht über dieselbe Reichweite und semipermanente Zugangspunktinfrastruktur wie WLAN.

Indem Sie festlegen, dass Ortungsdienste auf Bluetooth zugreifen müssen, stellen Sie sicher, dass der Benutzer versteht, dass bei der Verwendung von Bluetooth möglicherweise Standortinformationen verloren gehen. In Android-Versionen vor Marshmallow konnte der Benutzer Bluetooth verwenden, ohne dass Ortungsdienste aktiviert waren, aber Standortinformationen konnten lecken. In diesen älteren Versionen konnten Sie auch WiFi-Scans durchführen, um MAC-Adressen ohne aktivierte Ortungsdienste zu finden, was wiederum bedeutete, dass Ihre Ortungsinformationen lecken könnten. Damit Ortungsdienste Bluetooth verwenden können, muss sichergestellt werden, dass Personen, die den Ort deaktivieren, ihren Standort privat halten.

Ich würde dieses Problem als Designproblem und nicht als Fehler bezeichnen. Ein Fehler ist vermutlich behebbar, aber mir ist nicht klar, ob Sie Bluetooth überhaupt verwenden können, ohne potenziell Standortinformationen preiszugeben. Bluetooth wurde erstellt, bevor WLAN- und Bluetooth-Ortungsdienste in Betracht gezogen wurden.


2

Ist der Hersteller korrekt, müssen Sie die Ortungsdienste aktivieren, um nach WLAN- oder Bluetooth LE-Geräten zu suchen.

Siehe Fehler # 185370 für Details. Google sagte, dass sie es in einer "zukünftigen Version" behoben haben, aber laut Kommentaren zum Fehler ist es in Android 7 immer noch nicht behoben.


Bearbeiten: Ich sagte zuvor, Ortungsdienste sind nur erforderlich, wenn die App, die den Scan startet, im Hintergrund ausgeführt wird. Der Quellcode gibt an, dass dies nur dann zutrifft, wenn das API-Ziel <Android M ist.


Wenn es sich um einen Android-Fehler handelt, warum hat der Anbieter dann Recht? Sie hätten antworten sollen: "Es ist ein Android-Fehler"
GUI Junkie

Ist es möglich, das Gerät außerhalb der App mit Bluetooth zu verbinden?
GUI Junkie

Sie haben gefragt, ob die Aussage des Anbieters falsch ist. Es ist nicht falsch, Sie tun müssen , um Standort erteilen Berechtigungen für die App. Darüber hinaus aufgrund der Fehler, müssen Sie den Standort aktivieren Dienste .
jomo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.