4

Under "Location services" there is a "Use wireless networks" setting - whenever the setting is on, I get constant "nlpwakelocks" and the battery drains a lot faster.

However, I see that this was supposidely fixed by Google: http://www.androidpolice.com/2013/05/29/download-latest-google-play-store-4-1-10/ (my version is 4.3.11) but I still get the wakelocks on my SGSIII.

Is the device constantly requesting my location with this option on, or is my network connectivity changing and the wakelock is triggered each time (e.g. wifi networks and cell towers coming in and out of range)?

It would be good to be able to use the option, as apps such as Google Now can know where I am but the battery drain means that I have to toggle each time and remember to turn it off.

Update

LogCat Output (filtered to strings containing "location")

09-04 14:54:40.605 I/XPrivacy/XRuntime(10598): get 10240/su shell=false *   
09-04 14:54:48.080 I/dalvikvm-heap(15987): Grow heap (frag case) to 16.758MB for 2359312-byte allocation    
09-04 14:54:52.325 I/dalvikvm-heap(15987): Grow heap (frag case) to 19.454MB for 2391216-byte allocation    
09-04 14:54:53.020 I/dalvikvm-heap(15987): Grow heap (frag case) to 19.845MB for 2240016-byte allocation    
09-04 14:54:54.365 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 11 ms  
09-04 14:54:54.425 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false 60 ms  
09-04 14:54:54.440 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 7 ms    
09-04 14:54:54.470 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false 12 ms   
09-04 14:54:57.635 I/dalvikvm-heap( 4772): Grow heap (frag case) to 17.766MB for 1244176-byte allocation    
09-04 14:54:58.630 I/dalvikvm-heap( 4772): Grow heap (frag case) to 17.708MB for 1244176-byte allocation    
09-04 14:55:02.110 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 7 ms  
09-04 14:55:02.115 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false *  
09-04 14:55:02.125 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false *   
09-04 14:55:06.100 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 12 ms    
09-04 14:55:06.120 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 32 ms    
09-04 14:55:06.375 I/GCoreUlr( 5110): Successfully inserted location    
09-04 14:55:06.400 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 725934, request: Phone 
09-04 14:55:25.375 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 11 ms  
09-04 14:55:25.380 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false 16 ms  
09-04 14:55:25.445 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 11 ms   
09-04 14:55:25.455 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false 9 ms    
09-04 14:55:47.510 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 12 ms 
09-04 14:55:49.525 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 14:56:02.700 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 167 ms    
09-04 14:56:02.790 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 8 ms   
09-04 14:56:02.985 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 11 ms   
09-04 14:56:06.875 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 128 ms   
09-04 14:56:07.225 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 475 ms   
09-04 14:56:07.400 I/GCoreUlr( 5110): Successfully inserted location    
09-04 14:56:07.445 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 786963, request: Phone 
09-04 14:56:09.455 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 14:57:03.255 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 194 ms    
09-04 14:57:03.795 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 10 ms  
09-04 14:57:03.850 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 7 ms    
09-04 14:57:07.940 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 39 ms    
09-04 14:57:07.950 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 57 ms    
09-04 14:57:08.400 I/GCoreUlr( 5110): Successfully inserted location    
09-04 14:57:08.450 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 847966, request: Phone 
09-04 14:57:27.490 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 28 ms 
09-04 14:57:34.450 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 14:58:02.735 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 17 ms 
09-04 14:58:03.100 I/dalvikvm-heap( 5110): Grow heap (frag case) to 14.625MB for 30998-byte allocation  
09-04 14:58:03.810 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 10 ms  
09-04 14:58:03.890 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 17 ms   
09-04 14:58:07.910 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 44 ms    
09-04 14:58:07.920 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 48 ms    
09-04 14:58:19.625 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 28 ms 
09-04 14:58:19.820 I/GCoreUlr( 5110): Successfully inserted location    
09-04 14:58:19.875 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 919382, request: Phone 
09-04 14:58:46.625 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 17 ms 
09-04 14:58:51.720 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 14:59:03.820 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 143 ms    
09-04 14:59:04.060 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 11 ms  
09-04 14:59:04.130 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 14 ms   
09-04 14:59:08.115 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 86 ms    
09-04 14:59:08.360 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 325 ms   
09-04 14:59:08.885 I/GCoreUlr( 5110): Successfully inserted location    
09-04 14:59:08.940 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 968451, request: Phone 
09-04 14:59:18.535 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 14:59:24.500 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 50 ms 
09-04 14:59:26.435 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 14:59:30.550 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 15:00:03.550 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 21 ms 
09-04 15:00:04.130 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 14 ms  
09-04 15:00:04.210 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 15 ms   
09-04 15:00:08.205 I/XPrivacy/XWifiManager( 5110): get 10018/getScanResults location=false 75 ms    
09-04 15:00:08.205 I/XPrivacy/XWifiManager( 4958): get 10018/getScanResults location=false 68 ms    
09-04 15:00:08.985 I/GCoreUlr( 5110): Successfully inserted location    
09-04 15:00:09.040 I/GCoreUlr( 5110): Not calling LocationReportingService, hasMoved: false, elapsed millis: 1028547, request: Phone    
09-04 15:00:14.707 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 15:00:34.720 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false 11 ms  
09-04 15:00:35.195 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false 432 ms    
09-04 15:00:35.375 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false 27 ms  
09-04 15:00:35.420 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false 58 ms   
09-04 15:00:35.495 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false 9 ms    
09-04 15:00:35.525 I/XPrivacy/XLocationManager( 5110): get 10018/isProviderEnabled location=false * 
09-04 15:00:41.550 I/dalvikvm-heap(12643): Grow heap (frag case) to 14.987MB for 13792-byte allocation  
09-04 15:00:42.950 I/Wakelock(12643): Substraction Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3106] from Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3159]   
09-04 15:00:42.950 I/Wakelock(12643): Result: Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=53]    
09-04 15:00:43.600 I/StatsAdapter(12643): Values: NlpLocationReceiverService18 m 23 s  (1103 s) 
09-04 15:00:45.290 I/XPrivacy/XTelephonyManager( 5110): get 10018/getCellLocation location=false *  
09-04 15:00:45.295 I/XPrivacy/XTelephonyManager( 4958): get 10018/getCellLocation location=false *  
09-04 15:00:45.315 I/XPrivacy/XTelephonyManager( 5110): get 10018/getNeighboringCellInfo location=false *   
09-04 15:00:45.315 I/XPrivacy/XTelephonyManager( 4958): get 10018/getNeighboringCellInfo location=false *   
09-04 15:00:48.590 I/dalvikvm-heap(12643): Grow heap (frag case) to 14.603MB for 172252-byte allocation 
09-04 15:00:48.690 I/Wakelock(12643): Substraction Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReceiverService], m_duration=2081] from Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReceiverService], m_duration=3527] 
09-04 15:00:48.690 I/Wakelock(12643): Result: Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReceiverService], m_duration=1446]   
09-04 15:00:48.695 I/Wakelock(12643): Substraction Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3137] from Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=3159]   
09-04 15:00:48.695 I/Wakelock(12643): Result: Wakelock [m_wakeType=0, m_name=WakefulIntentService[GCoreUlr-LocationReportingService], m_duration=22]    
09-04 15:00:48.850 I/StatsAdapter(12643): Values: NlpLocationReceiverService18 m 23 s  (1103 s) 

Update 2

More info here: http://productforums.google.com/forum/#!topic/mobile/kZkk3E3YVTc

2
  • I wonder if you don't have an app that's constantly asking for your location. This kind of thing is hard to test, though, requiring trial and error or a factory reset. Can you post your logcat output?
    – Mr. Buster
    Sep 3, 2013 at 17:26
  • @Mr.Buster - updated with LogCat output. Is my method of identifying the correct log entries sound? Sep 4, 2013 at 9:37

2 Answers 2

2

I too suffered this issue (several times on different roms). Nlpwakelocks appeared in an insanely high abundance (several thousand wakelocks in a single day).

My first fix consisted of uninstalling all updates of google play, google services framework and google play services, clearing caches and deleting the data of the before mentioned in Appmanager, then do a reboot and re-install the updates again. Magically, the number of wakelocks dropped to a quite acceptable level. It still was the major cause of wakelocks, but it didn't drain the battery nearly as much as before. Since then, I had the "Use wireless networks" setting enabled without heavy battery drain. I could happily live with this result.

However, since I updated to 4.3 (CM 10.2), there's no longer a button to uninstall updates of those services in AppManager. Luckily though, clearing caches and data then reboot seems to suffice now. The only caveeat seems to be google maps. Since the update, you need to be logged in to your google account to see your favorite places in google maps. Unfortunately, maps then begins to poll your location every few minutes, thus raising nlpwakelocks to an alarming level again.

Since I've not found a workaround for this yet, I always logout of google maps after use and login again when needed. Not very comfortable, but this way I'm still able to use Google Now while experiencing an acceptable battery life.

Additionally, if you're not using Google Talk/Hangouts at all, log out and uninstall (with something like Titanium Backup). If you've got a real autostart killer (e.g. Autostart Manager), try to stop every service running with 'gtalk' in its name (in Autorun Manager, there's a very convenient search field for that). This last pararaph has nothing to do with nlpwakelocks, but it should reduce the google services framework drain considerably.

Hope this helps!

0

Looking at your LogCat it appears you have installed the XPrivacy app. This seems to be requesting your location constantly. Try removing this app and see if that helps.

This post on XDA appears to confirm the problem. Looking through that thread a bit more it appears that there were changes to reduce this but it could be an issue with apps that request your location not liking the data it gets.

You could also try installing Wakelock Detector and see if that sheds any light on the issue.

1
  • Thanks, I appeared to get a similar problem prior to XPrivacy though, and I don't get the drain with GPS on only. I have Wakelock Detector and Better Battery Stats and I am only aware of the nlpwakelock (and another one named nlpcollectorwakelock) when "Use wireless networks" is on. Sep 5, 2013 at 9:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .