我正在开发一个应用程序,它融合了各个提供商的位置,希望它能提供比我简单使用Google API更准确的位置。但是,提供商的选择取决于手机是室内还是室外(例如网络与GPS)。
检测设备是室内还是室外的最佳方法是什么?我的第一个想法是使用光传感器,也许是细胞信号强度和WiFi(如果附近有WiFi网络,很可能是设备在室内),但我不知道我应该将这些传感器赋予哪种重量/信心。
编辑:这是我的硕士论文,其中的目标是从Android API中的不同提供商(GPS,网络和被动)获取位置,并将其与公式融合。根据手机是室内还是室外,多个位置的重量不同。还有一些参数,比如电池寿命是否优先(我还没有开发出这个公式)。
答案 0 :(得分:3)
只需订阅这两个提供商,并在新位置到达时使用location.getProvider()
和location.getAccuracy()
- 检查它是否比之前更准确/更准确。
答案 1 :(得分:1)
我认为你最好的选择是GPS信号本身,因为GPS很少穿透建筑物。
在建筑区域,您将在整个商店中包含WiFi网络。