nlpwakelock y la opción "Usar redes inalámbricas"

En "Servicios de ubicación" hay una configuración de "Usar redes inalámbricas"; cada vez que la configuración está activada, obtengo "nlpwakelocks" constantes y la batería se agota mucho más rápido.

Sin embargo, veo que esto fue solucionado supuestamente por Google: http://www.androidpolice.com/2013/05/29/download-latest-google-play-store-4-1-10/ (mi versión es 4.3. 11), pero todavía obtengo los wakelocks en mi SGSIII.

¿El dispositivo solicita constantemente mi ubicación con esta opción activada, o mi conectividad de red está cambiando y el wakelock se activa cada vez (por ejemplo, las redes wifi y las torres de telefonía celular entran y salen del alcance)?

Sería bueno poder usar la opción, ya que las aplicaciones como Google Now pueden saber dónde estoy, pero el agotamiento de la batería significa que tengo que alternar cada vez y recordar apagarlo.

Actualizar

Salida de LogCat (filtrada a cadenas que contienen "ubicación")

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) 

Actualización 2

Más información aquí: http://productforums.google.com/forum/#!topic/mobile/kZkk3E3YVTc

Me pregunto si no tienes una aplicación que te pregunte constantemente tu ubicación. Sin embargo, este tipo de cosas son difíciles de probar y requieren prueba y error o un restablecimiento de fábrica. ¿Puedes publicar tu salida logcat?
@Mr.Buster - actualizado con salida de LogCat. ¿Es correcto mi método para identificar las entradas de registro correctas?

Respuestas (2)

Yo también sufrí este problema (varias veces en diferentes roms). Nlpwakelocks apareció en una abundancia increíblemente alta (varios miles de wakelocks en un solo día).

Mi primera solución consistió en desinstalar todas las actualizaciones de google play, el marco de servicios de google y los servicios de google play, borrar cachés y eliminar los datos de lo mencionado anteriormente en Appmanager, luego reiniciar y volver a instalar las actualizaciones. Mágicamente, la cantidad de wakelocks se redujo a un nivel bastante aceptable. Seguía siendo la causa principal de los wakelocks, pero no agotaba la batería tanto como antes. Desde entonces, tenía habilitada la configuración "Usar redes inalámbricas" sin agotar la batería. Podría vivir felizmente con este resultado.

Sin embargo, desde que actualicé a 4.3 (CM 10.2), ya no hay un botón para desinstalar actualizaciones de esos servicios en AppManager. Sin embargo, afortunadamente, borrar cachés y datos y luego reiniciar parece ser suficiente ahora. La única salvedad parece ser Google Maps. Desde la actualización, debe iniciar sesión en su cuenta de Google para ver sus lugares favoritos en Google Maps. Desafortunadamente, los mapas luego comienzan a sondear su ubicación cada pocos minutos, lo que eleva nuevamente los bloqueos nlpwakelocks a un nivel alarmante.

Como aún no he encontrado una solución para esto, siempre cierro la sesión de Google Maps después de usarlo y vuelvo a iniciar sesión cuando sea necesario. No es muy cómodo, pero de esta manera todavía puedo usar Google Now mientras experimento una duración aceptable de la batería.

Además, si no está utilizando Google Talk/Hangouts, cierre la sesión y desinstálelo (con algo como Titanium Backup ). Si tiene un verdadero asesino de inicio automático (por ejemplo , Autostart Manager ), intente detener todos los servicios que se ejecutan con ' gtalk ' en su nombre (en Autorun Manager, hay un campo de búsqueda muy conveniente para eso). Este último párrafo no tiene nada que ver con nlpwakelocks, pero debería reducir considerablemente el drenaje del marco de servicios de Google.

¡Espero que esto ayude!

Mirando su LogCat, parece que ha instalado la aplicación XPrivacy . Esto parece estar solicitando su ubicación constantemente. Intente eliminar esta aplicación y vea si eso ayuda.

Esta publicación en XDA parece confirmar el problema. Mirando un poco más ese hilo, parece que hubo cambios para reducir esto, pero podría ser un problema con las aplicaciones que solicitan su ubicación y no les gustan los datos que obtiene.

También puede intentar instalar Wakelock Detector y ver si eso arroja alguna luz sobre el problema.

Gracias, parece que tuve un problema similar antes de XPrivacy, y no tengo problemas solo con el GPS activado. Tengo Wakelock Detector y Better Battery Stats y solo soy consciente de nlpwakelock(y otro llamado nlpcollectorwakelock) cuando "Usar redes inalámbricas" está activado.