Réseau Activation Emplacement du fournisseur dans l'émulateur Android?
-
19-09-2019 - |
Question
Est-il possible d'activer le fournisseur d'emplacement de réseau sur l'émulateur Android? Peut-être avec un faux CellID?
La solution
Je crois que ce que vous voulez atteindre est pas possible à l'heure actuelle. Vous ne pouvez pas mettre les données de localisation fictives au fournisseur d'emplacement réseau de l'émulateur.
« Fournir des données de localisation fictives est injecté sous forme de données de localisation GPS, vous devez donc demander des mises à jour de localisation de GPS_PROVIDER pour que les données de localisation fictives pour travailler. » (Citation de Android, Documentation, fournir Mock données de localisation )
Le plus proche chose que je peux trouver serait de créer un « fournisseur de test » du Location Manager
public void addTestProvider (String name, boolean requiresNetwork, boolean requiresSatellite, boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude, boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy)
et définir les arguments requiresNetwork , requiresCell et requiresSatellite en conséquence. Ensuite, vous pouvez mettre de faux sites à ce fournisseur:
public void setTestProviderLocation (String provider, Location loc)
C'est proche mais pas exactement ce que vous avez demandé.
Autres conseils
avez-vous besoin d'envoyer informations sur la position de l'émulateur? si vous voulez le faire, yo peut envoyer lieu à l'émulateur throug la console adb et la commande géo http://developer.android.com/guide/developing/tools/emulator.html#geo
Je ne sais pas s'il est possible d'envoyer CellID faux, mais il est possible avec les coordonnées GPS, si votre application écouter tout fournisseur de GPS
Peut-être vous pouvez installer le fournisseur d'emplacement réseau UnifiedNlp dans votre émulateur , vous au moins vous un fournisseur de emplacement NETWORK
, même si elle ne donne pas de données.
Ce fournisseur est modulaire, perhaps² vous pouvez écrire un backend pour d'injecter vos positions fictives.
allez à vos paramètres de l'émulateur> Lieu d'accès et vérifier « Wi-Fi et localisation réseau mobile »