gpt4 book ai didi

android - Android中如何知道定位模式是WIFI还是2G/3G基站?

转载 作者:太空狗 更新时间:2023-10-29 15:55:49 24 4
gpt4 key购买 nike

我们知道Android有两种定位方式:GPS和网络。如果我们使用网络,Android 可以使用 WIFI 或 2G/3G 基站进行定位。没有 GPS,我们可以简单地使用 LocationManager.NETWORK_PROVIDER 来获取位置数据。但是我们怎么知道模式到底是 WIFI 还是 2G/3G 基站呢? Android 不为 WIFI 和手机信号塔提供单独的提供商。

我想到了一个方法。但我不确定它是否正确。请审阅并提出意见:

  1. 检查我是否可以获得 WIFI 热点列表。如果列表中没有任何内容,则必须使用手机信号塔。
  2. 如果有一些WIFI热点,而且精度很高(<=100m),那么很可能是用WIFI。如果准确率低,还用基站吗?

在我的理解中,WIFI定位的准确度是比较高的。但它的准确度的正常范围是多少?另外一个问题,Android 是否同时使用 WIFI 和基站?如果是这样,那么在我的应用程序中,我可以认为它使用 WIFI,而不是手机信号塔。

谢谢!

最佳答案

实际上,有一种方法可以做到这一点。它不仅有很好的记录,因此也可能会更改,恕不另行通知。您可以通过网络位置提供商位置更新额外数据获取使用的位置估计方法。

Bundle extras = location.getExtras();
if (extras.containsKey("networkLocationType")) {
String type = extras.getString("networkLocationType");
if (type .equals("cell")) {
// Cell (2G/3G/LTE) is used.
} else if (type .equals("wifi")) {
// Wi-Fi is used.
}
}

关于android - Android中如何知道定位模式是WIFI还是2G/3G基站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10631811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com