Мобильное устройство, такое как мобильный телефон / КПК Windows Mobile, по определению используется во многих местах и должно соответствующим образом адаптироваться. Если я дома, я бы хотел, чтобы он переключился на мою локальную WLAN, а не использовал 3G или GPRS. Если я нахожусь на собрании, я бы хотел, чтобы он включал тихий зуммер, а не громкую мелодию звонка. Если я нахожусь в шумной обстановке, я бы хотел, чтобы рингтон был настроен соответствующим образом. Если я еду домой, я мог бы отправить автоматическое SMS на мой SO.
Существует несколько источников данных, которые я мог бы использовать, чтобы определить, где и в какой среде я нахожусь:
- Текущая ячейка GSM
- Доступные SSID сети WLAN
- Координаты GPS (если это устройство активно)
- Статус календаря (на собрании)
- Микрофон (шумная или тихая обстановка)
- Статус ActtiveSync (возможно, на моем компьютере)
Я ожидаю, что будущие поколения мобильных телефонов позволят использовать больше видов конфигурации и поведения в зависимости от местоположения. На данный момент я, вероятно, ограничен в написании чего-то для себя. Однако интеграция источников данных о местоположении и взвешивание свидетельств из разных источников о том, где я нахожусь и чем я занимаюсь, - это то, что может заинтересовать не только одно приложение, а что-то, что конечный пользователь не захочет настроить для разделения определений несколько приложений.
ближайший вопрос , который я нашел, о том, как получить идентификаторы мобильных ячеек. Другие API можно найти, я думаю (но любая помощь приветствуется).
Существуют ли какие-либо структуры или идеи, которые могут помочь мне интегрировать эти источники данных, позволить пользователю настраивать среды и инициировать события при изменении местоположения или ситуации? Как я должен представлять местоположение, основываясь на доказательствах из нескольких источников? У вас есть быстрые ссылки на применимые API и компоненты, которые могут мне помочь? Желательно для CF (а не только для Windows XP ).