2

我正在 Android 中创建一个小应用程序,它指向当前位置。我为此使用了 GPS 提供程序,但发现在某些地方我不会使用 GPS 提供程序获取数据。

任何人都可以帮助我得到这个吗?

4

2 回答 2

3

如果您连接到 WIFI,则只需使用 NETWORK PROVIDER 进行位置更新。它们也将快速且足够准确。

通常,如果不需要如此频繁地更新位置,则同时从 GPS 和 NETWORK 请求位置更新。每当您获得所需精度的位置更新时,请从侦听位置更新中注销。

但是,如果需要频繁更新位置,那么调用 GPS 也可能是电池杀手,因此请小心使用 GPS 提供者。

GPS 更新仅在开阔的天空下可用。GPS 更新需要时间,需要电池,但更准确。

网络更新更快,消耗更少的电池,但相对不太准确。但是,如果我们谈论的是 WIFI 精度,它将接近 50 或 100,可以满足许多实时要求。

这一切都取决于您的要求。

于 2012-04-16T11:10:19.743 回答
-1

要检查设备是否通过手机或 wifi 连接,您可以使用以下代码:

ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

然后像这样使用...

if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
    //wifi
}

有关更多信息,请参阅链接

于 2012-04-16T11:12:02.950 回答