2009-03-16 6 views
2

Un appareil mobile tel qu'un téléphone portable/PDA Windows Mobile est par définition utilisé à partir de nombreux types d'emplacements et doit s'adapter en conséquence. Si je suis à la maison, je voudrais passer à mon réseau local sans fil plutôt que d'utiliser la 3G ou la GPRS. Si je participe à une réunion, j'aimerais que ce soit sur un buzzer silencieux plutôt que sur une grosse sonnerie. Si je suis dans un environnement bruyant, j'aimerais que la sonnerie s'ajuste en conséquence. Si je retourne à la maison, je pourrais vouloir envoyer un SMS automatique à mon SO.Des cadres pour des applications mobiles géolocalisées?

Il y a un certain nombre de sources de données que je pourrais utiliser pour déterminer où et quel type d'environnement que je suis:

  1. La cellule GSM actuelle
  2. Le disponibles sur le réseau WLAN
  3. de SSID Les coordonnées GPS (si ce dispositif est actif)
  4. L'état civil (dans une réunion)
  5. Le microphone (environnement bruyant ou silencieux)
  6. Le statut ActtiveSync (probablement à mon ordinateur)

J'attendre les futures générations de téléphones cellulaires pour permettre plusieurs types de configuration en fonction de l'emplacement et le comportement. Pour l'instant, je suis probablement limité à écrire quelque chose pour moi-même. Cependant, l'intégration des sources de données de localisation et la prise en compte des différentes sources pour déterminer où je suis et ce que je fais est quelque chose qui intéresse plus d'une application, et que l'utilisateur final ne voudrait pas configurer pour séparer les définitions dans plusieurs applications.

Le nearest question que j'ai trouvé est sur la façon d'obtenir des ID de cellule mobiles. D'autres API sont possibles à localiser, je suppose (mais toute aide est la bienvenue).

Y a-t-il des cadres ou des idées qui pourraient m'aider à intégrer ces sources de données, laisser un utilisateur configurer des environnements et déclencher des événements lorsqu'un emplacement ou une situation change? Comment dois-je représenter un lieu, en me basant sur des preuves provenant de plusieurs sources? Avez-vous des liens rapides vers les API et les composants applicables qui pourraient m'aider? De préférence pour CF (et pas seulement pour Windows XP).

Répondre

0

Buddycloud et leurs API peuvent être d'intérêt pour vous. Ils autorisent les requêtes basées sur de nombreuses choses que vous avez listées.

En outre, vous pouvez utiliser Bluetooth pour détecter votre proximité avec d'autres, etc. choses intéressantes.

1

This est un article très intéressant sur la façon dans le code de projet, vous pouvez récupérer l'identifiant de cellule et puis le mapper à une coordonnée.

1

En fournissant plus de perspicacité sur les suggestions déjà posté:

Information sur le lieu La référence à « Cast Deep » sur CodeProject utilise le service Web de Google pour déduisant son emplacement d'un ID Tower Cell en plus le matériel GPS dans le téléphone s'il est présent. Il est supposé que Google a une large couverture sur les ID de tour de téléphonie cellulaire rendant la méthode perceptible fiable. L'inconvénient de cette méthode est qu'il n'est pas clair ce que Google pense de quelqu'un qui utilise le service. Les dispositions possibles de Google pourraient inclure (1) que cette fonctionnalité soit utilisée par d'autres programmes (2) encourageant les développeurs à utiliser la fonctionnalité ou (3) l'apathie (c'est-à-dire ne pas en rétracter l'utilisation mais ne pas en utiliser). Le danger de la disposition de l'apathie est que, dans un avenir lointain, Google pourrait changer l'interface du service sans avertissement. Si vous avez l'intention de faire un programme pour des raisons commerciales, alors vous voulez vraiment obtenir des éclaircissements sur la disposition de Google.

Le service Skyhook Wireless est extrêmement fiable. Apple utilise Skyhook Wireless pour son emplacement WiFi dans l'iPhone et l'iPod. Il y a quelques mois, Skyhook a étendu le service de sorte que, au lieu de se limiter à un emplacement basé sur le WiFi sur les téléphones Windows Mobile, il utilisera désormais le WiFi, le GPS et l'emplacement de la Cell Tower. L'inconvénient de ce service est que si vous envisagez de l'utiliser dans le commerce, vous devrez envisager d'obtenir une licence. L'utilisation de ce SDK à partir d'une application .Net/managée était initialement pénible en raison des limitations des capacités d'interopérabilité du .Net Compact Framework. J'ai réussi à faire un wrapper .Net et l'ai posté au groupe de discussion Skyhook Wireless.

géolocalisés Reminders

Il y a quelques mois, il y avait un article sur MSDN rappels basés sur la localisation. Pour plus d'informations, voir l'article et le code exemple à http://msdn.microsoft.com/en-us/magazine/2009.01.wm6gps.aspx

Détection de bruit ambiant

Il y avait un exemple de code MSDN Magazine d'il y a quelques années qui ont démontré comment ajuster automatiquement le volume de votre téléphone en fonction du bruit ambiant niveau. Pour plus de détails, voir http://msdn.microsoft.com/en-us/magazine/cc163341.aspx

Questions connexes