Est-il possible d'obtenir la position actuelle de l'utilisateur sans utiliser le GPS ou Internet? Je veux dire avec l'aide d'un fournisseur de réseau mobile.
android
geolocation
gps
android-gps
Prabhu M
la source
la source
Réponses:
Ce que vous cherchez à faire est d’obtenir la position en utilisant au
LocationManager.NETWORK_PROVIDER
lieu deLocationManager.GPS_PROVIDER
. LeNETWORK_PROVIDER
sera résolu sur le GSM ou le wifi, qui est toujours disponible. Évidemment, avec le wifi désactivé, le GSM sera utilisé. Gardez à l'esprit que l'utilisation du réseau cellulaire est précise à environ 500 m.http://developer.android.com/guide/topics/location/obtaining-user-location.html contient de très bonnes informations et des exemples de code.
Une fois que vous avez terminé avec la plupart du code
OnCreate()
, ajoutez ceci:Vous pouvez également demander à votre activité de mettre en œuvre la
LocationListener
classe et donc de la mettreonLocationChanged()
en œuvre dans votre activité.la source
En obtenant le,
getLastKnownLocation
vous n'initiez pas vous-même une solution.Sachez que cela pourrait démarrer le fournisseur, mais si l'utilisateur a déjà obtenu un emplacement auparavant, je ne pense pas qu'il le fera. Les documents ne sont pas vraiment trop clairs à ce sujet.
Selon la documentation getLastKnownLocation:
Voici un petit extrait:
Vous devez également ajouter une nouvelle autorisation à
AndroidManifest.xml
la source
PASSIVE_PROVIDER
,NETWORK_PROVIDER
etGPS_PROVIDER
.la source
Non, vous ne pouvez actuellement pas obtenir de position sans utiliser le GPS ou Internet.
Les techniques de localisation basées sur WiFi, Cellulaire ou Bluetooth fonctionnent à l'aide d'une grande base de données constamment mise à jour. Un appareil recherche les identifiants des émetteurs, puis les envoie dans une requête via Internet à un service tel que Google, Apple ou Skyhook. Ce service répond avec un emplacement basé sur des enquêtes sans fil précédentes à partir d'emplacements connus. Sans accès Internet, vous devez disposer d'une copie locale d'une telle base de données et la maintenir à jour. Pour une utilisation globale, cela est très peu pratique.
Théoriquement, un fournisseur de téléphonie mobile pourrait fournir uniquement un service de données local, mais pas d'accès à Internet, puis répondre aux requêtes de localisation à partir d'appareils mobiles. Les fournisseurs de téléphonie mobile ne font pas cela; personne ne veut payer pour ce type d'accès restreint aux données. Si vous disposez d'un service de données via votre fournisseur de téléphonie mobile, vous avez accès à Internet.
En bref, l'utilisation de LocationManager.NETWORK_PROVIDER ou android.hardware.location.network pour obtenir l'emplacement nécessite l'utilisation d'Internet.
Pour utiliser la dernière position connue, vous devez avoir un accès GPS ou Internet très récemment. Si vous venez d'avoir Internet, vous pouvez probablement ajuster votre position ou vos paramètres pour accéder à nouveau à Internet. Si votre appareil n'a pas accès au GPS ou à Internet, la dernière fonction de position connue ne vous aidera pas.
Sans GPS ni Internet, vous pourriez:
la source
Ici possible pour obtenir l'emplacement actuel de l'utilisateur sans l'utilisation du GPS et du fournisseur de réseau.
1 .
Convert cellLocation to real location (Latitude and Longitude), using "http://www.google.com/glm/mmap"
2. Cliquez ici pour votre référence
la source
Avez-vous jeté un œil à l'API de géolocalisation Google Maps? Géolocalisation Google Map
C'est simple RestApi, il vous suffit de POSTER une demande, le service retournera un emplacement avec une précision en mètres.
la source
Il semble qu'il soit possible de suivre un téléphone intelligent sans utiliser le GPS.
Sources:
Principal: "PinMe: suivi d'un utilisateur de smartphone dans le monde"
Secondaire: «Comment suivre un téléphone portable sans GPS ou sans consentement»
Je n'ai pas encore trouvé de lien vers le code final de l'équipe. Quand je le ferai, je posterai, si un autre ne l'a pas fait.
la source
Vous pouvez utiliser TelephonyManager pour ce faire.
la source