Android网络位置提供商没有互联网或无线网络吗? 我面临着这种行为的不一致,因为有时即使没有互联网/ wifi,我的onlocationchanged()方法也会被调用。
有时候我没有得到一个位置修复,如果互联网/ wifi关闭时出现以下消息“太多没有位置ap-s。没有计算位置”的wifilocator和celllocator-Primary cell miss in cache。
请告诉我如何解决这个问题?
我正在使用API 7.在Android 2.3.6 Samsung Galaxy Y上测试这个应用程序。
答案 0 :(得分:1)
将onLocationChanged()方法放在此:
public boolean haveNetworkConnection()
{
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo == null)
return false;
else
{
if(netInfo.isConnected())
return true;
else
return false;
}
}
希望!这会有所帮助。
试试这个。
当我再次审核您的问题时。我发现了这个:
是的,您需要连接到Internet才能获得正确的网络位置修复。至少大部分时间。 手机会收集以下数据(无需连接到Internet即可执行此操作):
通过扫描wifi接入点附近的wifi信息。
附近的移动小区信息可通过手机的手机收音机获取。
然后,手机会将此数据发送到服务器。服务器使用此数据查看其数据库以确定手机最可能的位置。服务器将位置信息发送回电话。这一切都是通过互联网(移动互联网或WiFi)进行数据连接完成的。 一些实现另外将少量服务器的数据库下载到电话(描述电话当前位置周围的小区域),使得电话不必一直查询因特网。但是,一旦手机移动到这个小区域之外,它将需要访问互联网以再次获得正确的位置。
因此,基本上,如果没有互联网连接,您就无法(可靠地)使用网络位置。