Windows mobile 位置感知移动应用程序的框架?

Windows mobile 位置感知移动应用程序的框架?,windows-mobile,compact-framework,mobile,frameworks,gps,Windows Mobile,Compact Framework,Mobile,Frameworks,Gps,根据定义,像Windows mobile Phone/PDA这样的移动设备可以在多种位置使用,并且应该相应地进行调整。如果我在家,我希望它切换到我的本地WLAN,而不是使用3G或GPRS。如果我在开会,我希望它是无声的蜂鸣器,而不是响亮的铃声。如果我在嘈杂的环境中,我希望铃声能相应地调整。如果我在回家的路上,我可能想给我的SO发一条自动短信 我可以使用许多数据源来确定我所处的位置和环境类型: 当前GSM小区 可用的WLAN网络SSID GPS坐标(如果该设备处于活动状态) 日历状态(在会议中)

根据定义,像Windows mobile Phone/PDA这样的移动设备可以在多种位置使用,并且应该相应地进行调整。如果我在家,我希望它切换到我的本地WLAN,而不是使用3G或GPRS。如果我在开会,我希望它是无声的蜂鸣器,而不是响亮的铃声。如果我在嘈杂的环境中,我希望铃声能相应地调整。如果我在回家的路上,我可能想给我的SO发一条自动短信

我可以使用许多数据源来确定我所处的位置和环境类型:

  • 当前GSM小区
  • 可用的WLAN网络SSID
  • GPS坐标(如果该设备处于活动状态)
  • 日历状态(在会议中)
  • 麦克风(噪音或安静环境)
  • ActtiveSync状态(可能在我的计算机上)
  • 我预计未来几代手机将允许更多种类的位置相关配置和行为。现在,我可能只限于为自己写点东西。然而,集成位置数据源并权衡来自不同来源的证据,以确定我在哪里以及我在做什么,这是不止一个应用程序感兴趣的事情,也是最终用户不希望配置为在多个应用程序中分离定义的事情

    我发现的问题是如何获取手机ID。我想其他API也可以找到(但欢迎任何帮助)

    是否有任何框架或想法可以帮助我集成这些数据源,让用户配置环境,并在位置或情况发生变化时触发事件?根据来自多个来源的证据,我应该如何表示一个位置?您是否有可以帮助我的适用API和组件的快速链接?最好是为了(而不仅仅是为了)。

    您可能会对他们感兴趣。它们允许基于您列出的许多内容进行查询

    此外,您还可以使用蓝牙检测您与他人的距离等有趣的东西。

    对于第1-3点(至少),有


    是Code Project中一篇非常有趣的文章,介绍了如何检索CellID并将其映射到坐标。

    在提供有关已发布建议的更多信息时:

    位置信息 CodeProject中提到的“deepcast”利用谷歌的web服务,除了手机中的GPS硬件(如果有的话)外,还可以通过手机发射塔ID推断出一个人的位置。假设谷歌对基站ID有广泛的覆盖,使得该方法在视觉上是可靠的。这种方法的缺点是不清楚谷歌对使用该服务的人的看法。谷歌可能的处置包括(1)反对其他程序使用该功能(2)鼓励开发人员使用该功能或(3)冷漠(即不重新使用它,但也不支持使用它)。这种冷漠态度的危险在于,在不久的将来,谷歌可能会在没有任何警告的情况下更改该服务的界面。如果你打算出于商业原因制作一个程序,那么你真的需要弄清楚谷歌的倾向

    Skyhook无线服务非常可靠。苹果在iPhone和iPod中使用Skyhook Wireless作为WiFi位置。几个月前,Skyhook扩展了这项服务,不再只在Windows手机上进行基于WiFi的定位,它现在将使用WiFi、GPS和手机塔定位。这项服务的缺点是,如果你计划在商业上使用它,你就需要考虑许可。从.Net/托管应用程序中使用此SDK最初是一种痛苦,因为.Net Compact Framework的互操作能力有限。我设法制作了一个.Net包装并将其发布到Skyhook无线讨论组

    基于位置的提醒

    几个月前,有一篇MSDN关于基于位置的提醒的文章。有关更多信息,请参阅

    环境噪声检测

    几年前有一个MSDN杂志代码示例演示了如何根据环境噪音水平自动调整手机音量。有关更多详细信息,请参阅