0
votes

Comment détecter GPS activé et désactivé dans les formulaires Xamarin

comme le CrossConnectivit.Current.ConnectivityChanged Événement ajusté lorsque toute connexion change: xxx

alors comment détecter GPS activé / désactivé lorsque toutes les modifications trouvées sur Crossgeolocator Plugin en Xamarin.Forms?


1 commentaires

Je vous suggère d'utiliser GeolocatorPlugin.


3 Réponses :


0
votes

Le meilleur moyen de savoir comment fonctionne tout projet open-source fonctionne via son code source :-). Voir le igéolocator Code source de classe pour l'interface disponible pour vous.

Dans votre cas, vous serez probablement très intéressé par l'événement positionné , qui se produit chaque fois que la position change. Il existe également des propriétés telles que islistening , iSgeolocationAvailable et iségovalocessionenablenabled qui vous aident à trouver exactement dans quel état le GPS sur l'appareil est.

Si vous souhaitez un événement lorsque la propriété d'écoute change, cela n'est pas implémenté actuellement. Vous pouvez toutefois créer une classe wrapper à travers laquelle vous accéderez au plug-in Crossgeolocator et qui implémentera un tel événement lorsque startlisteningasync ou stoplisteningasync est appelé. < / p>


0 commentaires

0
votes

Il y a quelques choses que vous pouvez faire. Le plug-in Crossgeolocator n'a pas d'événement simple comme le plug-in de connectivité.

Premièrement, vous pouvez vérifier le ISGOOLOCOCABLABLE et Issupporté . Cela vous indiquera si ce plugin est pris en charge sur la plate-forme que vous utilisez et si l'utilisateur a accordé la permission à votre application pour lire les informations de localisation. Vous pouvez faire quelque chose comme ceci: xxx

à partir de là, vous pouvez accrocher à l'événement EventHandler positionError; méthode à notifier si Quelle que soit la raison que la position ne pouvait plus être déterminée (plus).

Tout la documentation est disponible sur le Github page ou Documentation .


2 commentaires

J'utilise déjà ce processus, mais en utilisant ce processus, j'ai besoin de vérifier chaque seconde pour la vérification de la connectivité.


Puisque vous voulez utiliser l'emplacement, vous avez probablement un certain code en place pour le faire déjà, je suppose? En outre, ceci est un événement, vous serez donc informé "automatiquement" chaque fois que quelque chose ne va pas, tout comme avec le plug-in CrossConnectivity



0
votes

Bien que l'on puisse créer un tel événement artificiellement, il n'y a pas d'événement de ce type au niveau du système et je ne pense pas que quiconque a fait un plugin avec un tel événement.

Pour préciser, votre connectivité peut changer lorsque l'application fonctionne et il est logique de créer un tel événement afin que l'application puisse réagir à ce sujet. GPS ne peut pas être modifié lorsque l'application fonctionne - la seule chose que vous pouvez faire est de vérifier si elle est activée ou désactivée et qu'elle ne peut pas être effectuée sans quitter et entrer dans l'application et vous pouvez le vérifier avec l'API Crossgeolocator.Current.isgeolocalisationAvénement à la région . Vous pouvez affirmer que l'application peut perdre le signal GPS, mais les systèmes d'exploitation ne fonctionnent pas de cette façon et vous ne pouvez rappeler que le dernier emplacement connu et le temps qu'il a été reçu.


0 commentaires