0

Je suis en train de tester la partie location de mon application avec diverses configurations. En mode AirPlane je ne reçois aucun message envoyé à ILocationListener, bon ou mauvais, à partir du LocationManager suivant sur un Android 2.2. Dans ce cas, le bestProvider est "réseau".Android: LocationManager lorsque le mode avion sur

Comment puis-je déterminer s'il est tout simplement impossible d'obtenir un emplacement pour pouvoir informer l'utilisateur? Quand il y a un réseau ou un GPS, tout fonctionne bien.

Le code que j'utilise (Mono pour Android C#) est:

  var cr = new Criteria(); 
      cr.Accuracy = Accuracy.Coarse; 
      cr.PowerRequirement = Power.Low; 
      cr.AltitudeRequired = false; 
      cr.BearingRequired = false; 
      cr.SpeedRequired = false; 
      cr.CostAllowed = true; 
      string serviceString = Context.LocationService; 
      locationManager = (LocationManager)GetSystemService (serviceString); 
      var bestProvider = locationManager.GetBestProvider (cr, false); 
      locationManager.RequestLocationUpdates (bestProvider, 5000, 500f, this); 

Répondre

1

comme this est votre emplacement listener, vous pouvez voir l'état dans onProviderEnabled (String provider), onProviderDisabled (String provider) ou onStatusChanged (String provider, int status, Bundle extras). Lisez ceci API pour plus d'informations, ce que chaque état signifie

0

Vous ne pouvez pas utiliser n'importe quel type de communication comme GPS, GPRS en mode AirPlane. Le mode Avion est un paramètre disponible sur la plupart des téléphones cellulaires, smartphones et autres appareils électroniques qui, une fois activés, suspendent la plupart des fonctions de transmission de signaux de l'appareil - désactivant ainsi la capacité de passer ou de recevoir des appels ou des messages texte. fonctions qui ne nécessitent pas de transmission de signaux (par exemple, jeux, appareil photo intégré, lecteur MP3).

+2

Je suis assez sûr que le GPS fonctionne toujours sur la plupart des téléphones. Cela peut prendre beaucoup plus de temps pour obtenir une solution, mais cela fonctionne en mode avion. –

+0

Bien, même si cela fonctionne, l'utilisateur ne peut stocker les données dans le périphérique local pour une utilisation future, sauf si l'utilisateur change le mode de profil. – Lucifer

+0

Il devrait cependant jeter un message disant qu'il ne peut rien obtenir. –

Questions connexes