根据定义,像 Windows Mobile 手机/PDA 这样的移动设备可以在多种位置使用,并且应该相应地进行调整。如果我在家,我希望它切换到我的本地 WLAN,而不是使用 3G 或 GPRS。如果我在开会,我希望它是静音蜂鸣器而不是响亮的铃声。如果我在嘈杂的环境中,我希望铃声进行相应的调整。如果我正在通勤回家,我可能想向我的 SO 发送自动 SMS。
我可能会使用许多数据源来确定我所处的环境和环境:
- 当前的GSM小区
- 可用的 WLAN 网络 SSID
- GPS 坐标(如果该设备处于活动状态)
- 日历状态(在会议中)
- 麦克风(嘈杂或安静的环境)
- ActiveSync 状态(可能在我的电脑上)
我预计未来几代手机将允许更多种类的位置相关配置和行为。目前,我可能仅限于为自己写一些东西。然而,整合位置数据源并权衡来自不同来源的证据,以了解我在哪里以及我在做什么,这不仅仅是一个应用程序感兴趣的事情,也是最终用户不希望配置为将定义分开的事情几个应用程序。
我发现的最近的问题是关于如何获取移动单元 ID。我猜可以找到其他 API(但欢迎提供任何帮助)。
是否有任何框架或想法可以帮助我整合这些数据源,让用户配置环境,并在位置或情况发生变化时触发事件?根据来自多个来源的证据,我应该如何表示一个位置?您是否有可以帮助我的适用 API 和组件的快速链接?最好用于CF(而不仅仅是Windows XP)。