11

J'ai un problème avec mon émulateur Android. Lorsque je ferme et ré-ouvre mon application, l'emplacement n'est pas envoyé automatiquement. Je dois aller dans Extended Controls -> Location et cliquer sur le bouton 'Send' pour la fonction de géolocalisation ionique getCurrentPosition pour le recevoir.Ionic avec Android Emulator: Envoie automatiquement l'emplacement?

Lorsque je démarre l'émulateur android et que l'application s'ouvre pour la première fois, cela n'est pas nécessaire. Une idée de comment envoyer l'emplacement automatiquement, peu importe quoi?

+0

avez-vous essayé sur mobile? Ce comportement est-il également visible sur les portables? Généralement, l'émulateur ne fonctionne pas comme vous le souhaitez. – Webruster

+0

Fonctionne correctement sur un appareil mobile pour une raison quelconque. C'est juste émulateur android. –

Répondre

3

En général, pour les essais de Plugins nous devons vérifier dans l'appareil réel, mais votre question initiale sur l'utilisation dans émulateurs, pour que cela fonctionne sur,

  1. Essayez de vider le cache de cordova (si vous utilisez Visual studio, vous pouvez le faire comme Outils-> options)

  2. Essayez d'ajouter la fonction watchPosition avec enableHighAccuracy : true

navigator.geolocation.watchPosition(onSuccess, onError, { 
    timeout:40000, 
    enableHighAccuracy: true 
}); 

Mise à jour:

Après un googler rapide, trouvé lien this, il déclare que:

A partir de Chrome 50, pas Chrome prend plus en charge l'obtention de l'utilisateur emplacement à l'aide de l'API de géolocalisation HTML5 à partir des pages livrées par des connexions non sécurisées. Cela signifie que la page qui effectue l'appel de l'API Geolocation doit être diffusée à partir d'un contexte sécurisé tel que HTTPS.

Une solution peut être comme:

En ajoutant des autorisations appropriées sur la plateforme Android, ouvrez votre projet, recherchez AndroidManifest.xml et ajoutez ces lignes:

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

Pour plus d'informations Lire this article et this thread

+0

Merci pour les suggestions. Malheureusement, je me bats avec cette question depuis un moment et il semble que ce soit quelque chose qu'aucune de ces solutions ne pourrait remédier. Le work-around suffira pour l'instant. –

+0

@AlexPalacios qui fonctionnent autour de – Webruster

+0

Je dois aller dans les contrôles étendus -> emplacement et cliquez sur le bouton «Envoyer» pour la fonction getCurrentPosition de géolocalisation ionique pour le recevoir. –