2014-03-04 2 views
7

내 앱이 사용자를 지속적으로 추적해야합니다. 이를 위해 계속해서 위치 업데이트를 수신해야하는 LocationListener이 있습니다. 문제는 화면이 꺼져 있고 업데이트가 수신되지 않는 경우입니다.화면이 잠길 때 Android가 위치 업데이트를 수신하지 않습니다.

mLocationRequest = LocationRequest.create(); 
     mLocationRequest.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS); 
     mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
     mLocationRequest.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS); 
     mLocationClient = new LocationClient(ADS.getAppContext(), new LocationGatherer(), new LocationGatherer()); 
     mLocationClient.connect(); 
     PowerManager pm = (PowerManager) ADS.getAppContext().getSystemService(Context.POWER_SERVICE); 
     PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag"); 
     wl.acquire(); 

을하지만 여전히 업데이트를받지 않습니다

나는 부분 웨이크 잠금 장치를 추가하는 시도했습니다.

+0

[여기] (http://stackoverflow.com/a/14478281/312312) 도움이 될 것입니다 – Lefteris

답변

2

같은 문제가 발생했습니다. 나는 서비스 안에 있었지만 나는 같은 코드를 가지고 있었다. 이상하게도 작동하지 않았습니다. 내 노트북에 연결하고 는 Android app high CPU usage, no services or wakelocks에 언급 된 명령 실행 :

adb shell dumpsys power |grep -i wake 

갑자기

는, 위치 업데이트가 (전원 버튼을 누르면 화면가 꺼져 있었다)에 도착하기 시작합니다.

나는 정말로 문제가 무엇인지에 대한 단서가 없다. 그러나 그것은 나를 위해 그것을 해결했다.

현재로서는 화면을 꺼도 위치 수신이 업데이트됩니다.

+0

아주 좋은 답변입니다. – peterh

관련 문제