Pourquoi dois-je activer les services de localisation pour l'appairer avec un appareil Bluetooth?


16

Chaque fois que j'essaie de connecter mon Samsung Galaxy S6 avec Android 6.0.1 à un appareil compatible Bluetooth, il me dit d'activer les "services de localisation".

Lorsque je me suis plaint de cela, le fournisseur de logiciels a répondu: "Les mises à jour récentes de l'API Google Android affectant la technologie Bluetooth LE nécessitent l'octroi d'autorisations de localisation pour utiliser l'application."

Je ne vois pas la nécessité de cela.

Cette discussion en parle. La référence technique indique que les applications doivent avoir certaines autorisations , pas que les services de localisation soient actifs.

Pour accéder aux identifiants matériels des appareils externes à proximité via des analyses Bluetooth et Wi-Fi, votre application doit maintenant disposer des autorisations ACCESS_FINE_LOCATION ou ACCESS_COARSE_LOCATION

Question : cela signifie-t-il que la déclaration du fournisseur du logiciel est incorrecte?


Le système d'autorisation est définitivement complètement falsifié avec la restructuration de MM (les explications disent qu'ils avaient en tête des "balises Bluetooth" qui pourraient être utilisées pour vous localiser). À ma connaissance, votre doute est justifié et la déclaration du vendeur est incorrecte: les applications ont besoin de l' autorisation pour accéder à Bluetooth. Mais s'ils ont besoin d'un service de localisation pour trouver le matériel ("tourner à droite sur le deuxième joint de soudure, passer le transistor à la porte 3 ..."), je serais surpris. Je doute fort que les services de localisation doivent être activés pour cela, mais je n'ai aucun appareil MM à vérifier.
Izzy

Réponses:


6

Ma compréhension de Bluetooth est que les applications utilisant Bluetooth ont un accès direct à l'adresse MAC de l'appareil à des fins de couplage. Je vais assumer cela pour cette réponse.

Si vous pouvez lire les adresses MAC des émetteurs WiFi ou Bluetooth, vous pouvez localiser un appareil. Voici comment fonctionne l'emplacement WiFi / Bluetooth; vous écoutez les adresses MAC des émetteurs et les recherchez dans une base de données mondiale géante.

Par conséquent, toute application utilisant Bluetooth et une connexion de données est théoriquement capable de localiser votre appareil. Je ne suis pas sûr que ce soit pratiquement possible; Le Bluetooth n'a pas la même portée et l'infrastructure de point d'accès semi-permanent que le WiFi.

En exigeant que les services de localisation accèdent à Bluetooth, vous vous assurez que l'utilisateur comprend que ses informations de localisation peuvent fuir lorsqu'il utilise Bluetooth. Dans les versions d'Android antérieures à Marshmallow, l'utilisateur pouvait utiliser Bluetooth sans activer les services de localisation, mais les informations de localisation pouvaient fuir. Dans ces anciennes versions, vous pouviez également exécuter des analyses WiFi pour trouver des adresses MAC sans activer les services de localisation, ce qui signifiait à nouveau que vos informations de localisation pouvaient fuir. L'obligation d'autoriser les services de localisation à utiliser Bluetooth consiste à s'assurer que quelqu'un qui désactive la localisation conserve sa position privée.

Je qualifierais ce problème de problème de conception et non de bogue. Un bug est vraisemblablement réparable, mais il n'est pas clair pour moi que vous pouvez utiliser Bluetooth du tout sans potentiellement divulguer des informations de localisation. Bluetooth a été créé avant que quiconque ne considère les services de localisation WiFi et Bluetooth.


2

Le fournisseur est correct, vous devez activer les services de localisation pour rechercher des appareils WiFi ou Bluetooth LE.

Voir bug # 185370 pour plus de détails. Google a déclaré qu'ils l'avaient corrigé dans une `` future version '' mais selon les commentaires sur le bug, il n'est toujours pas corrigé dans Android 7.


Modifier: j'ai déjà dit que les services de localisation ne sont requis que lorsque l'application qui démarre l'analyse s'exécute en arrière-plan. Le code source indique que cela n'est vrai que si l'API-Target est <Android M.


S'il s'agit d'un bug Android, pourquoi le vendeur aurait-il raison? Ils auraient dû répondre: "C'est un bug Android"
GUI Junkie

Est-il possible de lier l'appareil à Bluetooth en dehors de l'application?
GUI Junkie

Vous avez demandé si la déclaration du fournisseur était incorrecte. Ce n'est pas incorrect, vous devez accorder des autorisations de localisation à l'application. De plus, en raison du bogue, vous devez activer les services de localisation .
jomo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.