Je voudrais remplacer le fournisseur d'emplacement GPS par défaut sur les téléphones Android avec ma propre source de coordonnées. p>
existe-t-il une couche / API / bibliothèque / fournisseur qui permettrait d'être remplacé par mon fournisseur de signal à la place du GPS de matériel intégré ou de lire à partir d'un plug-in externe? Il devrait permettre à toutes les applications qui s'appuient sur le service GPS recevant mon signal au lieu de GPS. Idéalement, le remplacement doit toujours être en mesure d'accéder au signal GPS (pour la comparaison / la correction ou pour basculer entre les deux fournisseurs). p>
Je pense que par exemple de mise en œuvre de mon propre locationManager et de l'enregistrer dans le système (en option ou par défaut), si cela est possible. Mais à ce stade, j'essaie toujours de savoir ce qui est possible et approprié. P>
Merci pour tous les indicateurs. p>
3 Réponses :
Je ne suis que dans le processus de lecture de l'Android SDK pour le moment. Cependant, ma compréhension est que vous fourniriez une implémentation d'une intention GPS_Provider. P>
Toute application peut ensuite détourner l'utilisation de l'intention GPS_Provider préférée de l'utilisateur. P>
Voir: http://developer.android.com/guide/topics/intents/ intention de filtres.html p>
Je suis sûr que les fournisseurs d'emplacement par défaut pour l'emplacement fin sont cuits à Android. P>
Étant donné que Google devient de plus en plus conscient de la mauvaise utilisation potentielle des ressources système par les applications, je dirais que c'est une bonne chose. Sinon, les gens seraient capables d'asperger l'utilisateur à penser qu'ils sont ailleurs ailleurs, en utilisant le sondage digne de confiance "Utiliser GPS satellites". P>
La seule façon de voir que vous pouvez ajouter un fournisseur d'emplacement via Android.Location.LocationManager.addtestProvider (...... ) , qui nécessite l'autorisation Access_Mock_Location. Maintenant, cette méthode et cette autorisation sont toutes deux documentées comme étant pour "tester". Je ne trouve pas une source qui dit spécifiquement que cette autorisation n'est pas accordée pour les applications de libération de marché, mais je soupçonne fortement que ce soit le cas. P>
Je ne peux pas vraiment penser à une attaque raisonnable en positionnant l'utilisateur, par opposition à toutes les autres autorisations que vous pouvez accéder. Mais je suppose que vous avez toujours raison de ne pas être disponible pour les applications sur le marché.
Remplacement de la "valeur par défaut" n'est pas autorisé pour le moment et le seul travail autour est de créer un fournisseur de faux fournisseurs. Tout d'abord, vous devez définir la permission de sécurité:
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
Merci pour le lien. S'il n'est pas possible de demander cette autorisation sur le téléphone de l'utilisateur, cela ne vous aidera pas beaucoup. Et vous devez toujours modifier l'application cible.
Quelqu'un a-t-il la source de ce lien? C'est un cache A 404 et Google, ni l'archive Web l'ont inscrit. Merci
Merci beaucoup pour les réponses jusqu'à présent. Je voyageais et je vais devoir lire un peu dans chaque réponse pour décider. La raison pour laquelle je demande est qu'il est possible d'améliorer réellement le signal GPS si vous pouvez récupérer des mesures de la distorsion atmosphérique pour votre emplacement actuel. Par conséquent, ce serait génial si on pouvait remplacer le fournisseur d'emplacement à la volée pour d'autres applications.
J'ai trouvé une question similaire, assez récente, mais malheureusement sans réponse de la liste des développeurs androides officielles: groups.google.com/group/android-developers/browse_thread/thth ead / ... . J'ai vu l'affiche autour d'autres projets Android, alors je suppose qu'il a une certaine expérience. Peut-être a-t-il trouvé d'autres informations en moyenne, qu'il est disposé à partager.
Merci, Rotora. Je vais essayer de faire un suivi à ce sujet.