11
votes

Comment puis-je vérifier si GPS est activé avant d'essayer de l'utiliser

J'ai le code suivant et ce n'est pas bon car parfois GPS prend très longtemps

Comment puis-je procéder comme suit:

  1. Vérifiez si GPS est activé
  2. Utilisez GPS si elle est activée, utilisez le fournisseur de réseau.
  3. Si GPS prend plus de 30 secondes, utilisez le réseau.

    Je peux le faire avec ma propre logique à l'aide d'une heure ou d'un thread.sleep, mais je pense qu'il pourrait y avoir une manière plus stabndard xxx


1 commentaires

Réfléchissez à nouveau de votre 3ème condition. Élevez-le à 60 ans. 30 ans ne fonctionne souvent qu'avec des AGP avec Internet.


3 Réponses :


10
votes

juste en utilisant ceci, vous pouvez vérifier GPS code> Disponibilité

    LocationManager mlocManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);;
    boolean enabled = mlocManager.isProviderEnabled(LocationManager.GPS_PROVIDER);


0 commentaires

10
votes

Il n'y a pas de solution standard, vous devez le faire seul avec l'aide de: xxx pré>

et cette permission dans Manifest: P>

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


1 commentaires

De plus, pour rendre l'appel comme indiqué dans cette réponse, vous devez ajouter ce qui suit à votre AndroidManifest.xml:



1
votes

pense que vous pouvez utiliser le code dans ma réponse à: Servie localisation Force GPS fermé

Il vous donne une méthode de rappel pour la première solution GPS et les changements de localisation qui peuvent être très pratiques. Cela facilite également la modification de la mise en œuvre de GPSTracker pour passer au réseau si GPS prend trop de temps pour obtenir une première solution.


0 commentaires