如何使用 Android 上的 Google /Location API 检测您是否在建筑物中

How to detect that you are in the building using some Google /Location API on Android

我需要检测何时从街道进入建筑物。现在我使用下一个:如果你的设备连接到 wifi - 你正在进入建筑物。 为此,我使用 WifiManager.NETWORK_STATE_CHANGED_ACTION。但这并不完全准确,因为有很多自由区 wi-fi,例如在公园里。请告诉我如何解决我的问题?给我一些link或建议。也许有一些方法可以定义当前的无线接入点是 public 并且它位于公园或什么地方?

据我所知,您有两个选择:

  1. 尝试了解您何时长时间停止接收 GPS 信号。 GPS 只能在室外工作,因此它应该会给您带来不错的效果,您也可以尝试了解 GPS 看到的卫星数量,并检查该数字何时下降。
  2. 您可以尝试使用压力传感器(气压计)来检测高度,如果高度升高很快,则可能意味着用户正在使用电梯。 How to get barometric altitude in Android?

将两者结合起来可能会产生一个很好的解决方案。