Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Location Manager需要很长时间才能找到经度和纬度_Java_Android_Google Maps - Fatal编程技术网

Java Android Location Manager需要很长时间才能找到经度和纬度

Java Android Location Manager需要很长时间才能找到经度和纬度,java,android,google-maps,Java,Android,Google Maps,我所拥有的代码在感觉上是有效的。它要么立即工作,要么需要很长时间,要么根本不工作。代码如下: locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); locationLis = new LocationListener() { @Override public void onLocationChanged(Location location) {

我所拥有的代码在感觉上是有效的。它要么立即工作,要么需要很长时间,要么根本不工作。代码如下:

 locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
 locationLis = new LocationListener() {
      @Override
      public void onLocationChanged(Location location) {
           lat= location.getLatitude();
           log = location.getLongitude();
           locationManager.removeUpdates(locationLis);
      }
      @Override
      public void onStatusChanged(String s, int i, Bundle bundle){
      }
      @Override
      public void onProviderEnabled(String s) {
      }
      @Override
      public void onProviderDisabled(String s) {
           System.out.println("Not Found");
      }
 };

 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationLis);

我用来测试的设备是Nexus 7(2012)

而不是使用
GPS\u提供程序
我将其更改为
网络\u提供程序

它使用网络来获取位置,而不是GPS,这花费了很长时间。代码是:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationLis);
现在读到:

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationLis);

这可能是因为你的GPS没有得到固定。检查GPS图标,它可能正在闪烁。这纯粹是因为GPS没有得到固定


因此,我强烈建议您在Open Sky下测试应用程序。这有助于更快地修复GPS。在开阔天空下进行测试时,您可以看到GPS图标将停止闪烁并保持稳定。

您是否在emulator中进行测试?测试时,您是否确定gps可用。要正确测试,请在open sky下测试应用程序。感谢@Lal的回复,我正在使用nexus 7(2012),我将尝试在open sky nowGreat@GiovanniL下测试。。请告诉我结果。@Lal由于GPS提供商的原因,它在外部工作得更好,我现在已将其更新为网络提供商:d如果我将其添加为我的答案,你会投赞成票吗。。?