我正在Android中创建一个小应用程序,它指向当前位置。 我已经使用了GPS提供商,但发现我不会在某些地方使用GPS提供商获取数据。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
如果您已连接到WIFI,则只需使用NETWORK PROVIDER进行位置更新。 它们也会快速而准确。
通常,如果不经常需要位置更新,则同时从GPS和NETWORK一起询问位置更新。每当您获得所需精度的位置更新时,请从收听位置更新中取消注册。
但如果经常需要更新位置,那么拨打GPS可能会成为杀手锏 所以要小心使用GPS PROVIDER。
GPS更新仅在开放天空下可用。 GPS更新需要时间,需要电池但更准确。
网络更新速度更快,耗电量更少但准确度相对较低。 但是,如果我们谈论的是WIFI准确度,它将接近50或100,可以满足许多实时要求。
这一切都取决于你的要求。
答案 1 :(得分:-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
}
有关详细信息,请参阅link