使用GPS检测Android设备是否在室内

时间:2017-03-21 16:28:26

标签: android location android-gps

我写的应用程序需要以某种方式检测Android设备是在室内还是室外。我的目标是检测用户是否尽快离开某个建筑物。 我试图使用用户位置信号。我没有启动任何GPS采样,因为我不想浪费太多电池电量,所以检测用户是否离开建筑物的唯一方法是等待他离这个地方足够远然后使用通过wifi或小区采样的位置信号。 问题是我需要花一些时间才能检测到用户离开了建筑物。

我知道当用户在室内时,他的GPS信号较弱。我可以以某种方式使用GPS状态来查明用户是在室内还是在室外?启动GPS定位样本会浪费吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我认为你不能使用FusedLocationProvider做你想做的事情,因为这会使用WiFi和手机信号塔三角测量。您需要使用LocationManager

如果您在内部并且据我所知也没有明确的方法来检测这一点也很困难。但是你可以做出明智的猜测。

在检测"弱" GPS信号你可以检查一些事情:

  • 您可以使用的卫星数量。如果数量较少,那么你要么在室内,要么在卫星覆盖范围较差的地方。
  • 接收到的GPS位置的水平精度。如果这个值很高,可以认为是准确性差,这可能是因为你在里面。
  • 一段时间内未收到任何地点。这可能是因为你在里面。

您是否考虑过进行其他检查以及GPS,如果他们连接到WiFi,会增加他们进入内部的可能性?