我正在 Android 中创建一个小应用程序,它指向当前位置。我为此使用了 GPS 提供程序,但发现在某些地方我不会使用 GPS 提供程序获取数据。
任何人都可以帮助我得到这个吗?
我正在 Android 中创建一个小应用程序,它指向当前位置。我为此使用了 GPS 提供程序,但发现在某些地方我不会使用 GPS 提供程序获取数据。
任何人都可以帮助我得到这个吗?
如果您连接到 WIFI,则只需使用 NETWORK PROVIDER 进行位置更新。它们也将快速且足够准确。
通常,如果不需要如此频繁地更新位置,则同时从 GPS 和 NETWORK 请求位置更新。每当您获得所需精度的位置更新时,请从侦听位置更新中注销。
但是,如果需要频繁更新位置,那么调用 GPS 也可能是电池杀手,因此请小心使用 GPS 提供者。
GPS 更新仅在开阔的天空下可用。GPS 更新需要时间,需要电池,但更准确。
网络更新更快,消耗更少的电池,但相对不太准确。但是,如果我们谈论的是 WIFI 精度,它将接近 50 或 100,可以满足许多实时要求。
这一切都取决于您的要求。
要检查设备是否通过手机或 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
}
有关更多信息,请参阅链接