我们知道Android中有两种定位模式:GPS和网络。如果我们使用网络,那么Android可以使用WIFI或2G/3G基站定位。如果没有 GPS,我们可以简单地使用 LocationManager.NETWORK_PROVIDER 来获取位置数据。但是我们怎么知道模式是WIFI还是2G/3G基站呢?Android 没有为 WIFI 和手机信号塔提供单独的提供商。
我想到了一个方法。但我不确定它是否正确。请查看并发表评论:
- 检查我是否可以获得WIFI热点列表。如果列表中没有任何内容,则必须使用手机信号塔。
- 如果有一些WIFI热点,并且精度很高(<=100m),那么很可能使用WIFI。如果精度低,是否仍使用手机信号塔?
在我的理解中,WIFI定位的准确率是比较高的。但它的准确度的正常范围是多少?另一个问题,Android 是否同时使用 WIFI 和信号塔?如果是这样,那么在我的应用程序中,我可以认为它使用 WIFI,而不是手机信号塔。
谢谢!