2013-06-27 2 views
1

GPS로부터 업데이트를 받고 싶지만 그럴 수 없습니다. onLocationChanged 메서드가 호출하지 않습니다. 이 응용 프로그램에서는 Google Maps API도 사용합니다. 나는 모른다. 어쩌면 내 문제의 원인 일 수도있다.GPS 업데이트가 호출되지 않습니다.

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 

final LocationListener locationListener = new LocationListener() { 
      public void onLocationChanged(Location location) 
      { 
         txtLat.setText("Latitude: " + String.valueOf((int)(location.getLatitude())) + "," 
           + String.valueOf(((location.getLatitude() * 100) % 100)) + " degrees"); 

        txtLong.setText("Longtitude: " + String.valueOf((int)(location.getLongitude())) + "," 
           + String.valueOf(((location.getLongitude() * 100) % 100)) + " degrees"); 

      } 
public void onStatusChanged(String provider, int status, Bundle extras) {} 

      public void onProviderEnabled(String provider) {} 

      public void onProviderDisabled(String provider) {} 
      }; 

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

및 매니페스트에서 나는 이러한 권한 선언 :

은 GPS에 대한 코드는 MainActivity에있어

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 

구글지도 API v2에서

편집 필요한 것을 다른 : 로그 캣을 :

06-27 14:25:28.785: D/dalvikvm(5206): GC_FOR_ALLOC freed 42K, 8% free 2500K/2716K, paused 42ms, total 48ms 
06-27 14:25:28.836: I/dalvikvm-heap(5206): Grow heap (frag case) to 6.147MB for 3712016-byte allocation 
06-27 14:25:28.906: D/dalvikvm(5206): GC_FOR_ALLOC freed 2K, 4% free 6122K/6344K, paused 64ms, total 64ms 
06-27 14:25:28.965: D/dalvikvm(5206): GC_CONCURRENT freed <1K, 4% free 6122K/6344K, paused 8ms+5ms, total 66ms 
06-27 14:25:29.595: D/dalvikvm(5206): GC_CONCURRENT freed 3766K, 53% free 3523K/7464K, paused 24ms+46ms, total 149ms 
06-27 14:25:30.025: D/dalvikvm(5206): GC_CONCURRENT freed 243K, 51% free 3681K/7464K, paused 5ms+5ms, total 52ms 
06-27 14:25:30.045: E/Google Maps Android API(5206): Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above 
06-27 14:25:30.385: D/dalvikvm(5206): GC_FOR_ALLOC freed 146K, 49% free 3826K/7464K, paused 39ms, total 40ms 
06-27 14:25:30.685: D/dalvikvm(5206): GC_CONCURRENT freed 82K, 44% free 4234K/7464K, paused 16ms+26ms, total 133ms 
06-27 14:25:31.066: D/libEGL(5206): Emulator without GPU support detected. Fallback to software renderer. 
06-27 14:25:31.095: I/Choreographer(5206): Skipped 77 frames! The application may be doing too much work on its main thread. 
06-27 14:25:31.115: D/libEGL(5206): loaded /system/lib/egl/libGLES_android.so 
06-27 14:25:31.175: D/gralloc_goldfish(5206): Emulator without GPU emulation detected. 
06-27 14:25:31.819: D/dalvikvm(5206): GC_CONCURRENT freed 402K, 41% free 4428K/7464K, paused 30ms+60ms, total 386ms 
06-27 14:25:31.915: D/dalvikvm(5206): WAIT_FOR_CONCURRENT_GC blocked 428ms 
06-27 14:25:32.427: D/dalvikvm(5206): GC_CONCURRENT freed 630K, 41% free 4429K/7464K, paused 31ms+18ms, total 100ms 
06-27 14:25:32.427: D/dalvikvm(5206): WAIT_FOR_CONCURRENT_GC blocked 59ms 
06-27 14:33:03.695: E/Trace(5381): error opening trace file: No such file or directory (2) 
06-27 14:33:04.395: D/dalvikvm(5381): GC_FOR_ALLOC freed 46K, 9% free 2500K/2720K, paused 42ms, total 45ms 
06-27 14:33:04.435: I/dalvikvm-heap(5381): Grow heap (frag case) to 6.147MB for 3712016-byte allocation 
06-27 14:33:04.485: D/dalvikvm(5381): GC_FOR_ALLOC freed 2K, 4% free 6122K/6348K, paused 43ms, total 44ms 
06-27 14:33:04.555: D/dalvikvm(5381): GC_CONCURRENT freed <1K, 4% free 6122K/6348K, paused 5ms+5ms, total 70ms 
06-27 14:33:05.235: D/dalvikvm(5381): GC_CONCURRENT freed 3774K, 53% free 3500K/7448K, paused 20ms+84ms, total 157ms 
06-27 14:33:05.615: D/dalvikvm(5381): GC_CONCURRENT freed 232K, 51% free 3663K/7448K, paused 72ms+5ms, total 118ms 
06-27 14:33:05.645: E/Google Maps Android API(5381): Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above 
06-27 14:33:05.875: D/dalvikvm(5381): GC_FOR_ALLOC freed 190K, 49% free 3847K/7448K, paused 39ms, total 40ms 
06-27 14:33:06.268: D/dalvikvm(5381): GC_CONCURRENT freed 62K, 44% free 4223K/7448K, paused 71ms+77ms, total 284ms 
06-27 14:33:06.815: D/libEGL(5381): Emulator without GPU support detected. Fallback to software renderer. 
06-27 14:33:06.865: D/libEGL(5381): loaded /system/lib/egl/libGLES_android.so 
06-27 14:33:06.906: I/Choreographer(5381): Skipped 120 frames! The application may be doing too much work on its main thread. 
06-27 14:33:07.005: D/gralloc_goldfish(5381): Emulator without GPU emulation detected. 
06-27 14:33:07.455: I/Choreographer(5381): Skipped 38 frames! The application may be doing too much work on its main thread. 
06-27 14:33:07.545: D/dalvikvm(5381): GC_CONCURRENT freed 381K, 41% free 4427K/7448K, paused 8ms+111ms, total 349ms 
06-27 14:33:07.545: D/dalvikvm(5381): WAIT_FOR_CONCURRENT_GC blocked 237ms 
06-27 14:33:08.246: D/dalvikvm(5381): GC_CONCURRENT freed 630K, 41% free 4430K/7448K, paused 72ms+7ms, total 171ms 
06-27 14:33:08.246: D/dalvikvm(5381): WAIT_FOR_CONCURRENT_GC blocked 32ms 
+1

로그를 콜백에 넣으면 호출됩니까? –

+1

이 작업을 수행 할 때 외부에 있습니까? 당신은 깜박이는 GPS 신호 대신 안정된 GPS 신호를 보았습니까? – Carnal

+0

당신은 충분히 기다렸습니까? GPS는 특히 당신이 안에있는 경우 약간의 시간이 필요합니다 – EMarci15

답변

1

GPS 공급자를 사용하여 위치를 검색하려고하는데 건물 내부에 있거나 GPS 수신이 좋지 않으면 onLocationChanged가 호출되지 않습니다.

Wi-Fi 또는 셀 타워에 대한 자동 폴백이 없습니다.

기준을 지정할 때도 사용중인 공급자 종류를 항상 확인하십시오.

Google은 Google Play 서비스를 통해 new Location APIs의 무리를 출시하여 사용자 위치 검색의 효율성을 높여 정확성과 배터리 수명을 향상 시켰습니다.

자습서 (다운로드 할 수있는 샘플 앱이 포함되어 있음) Retrieving the Current Location 자습서를 따르는 것이 좋습니다.

관련 문제