2014-03-04 51 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