[Editar: Se ha eliminado toda mención de la versión Android - el tema está presente en todas las versiones de Android]Solución Android para que no trabajan sensores cuando la pantalla está apagada
Antecedentes: Cuando la pantalla está apagada, muchos teléfonos Android hacen no proporciona actualizaciones a las aplicaciones de las lecturas del Acelerómetro llamando a OnSensorChanged() cuando la pantalla está apagada. Este comportamiento se discute en S.O. y está más documentado aquí http://code.google.com/p/android/issues/detail?id=3708
En algunos teléfonos (Nexus S, Droid X2, ...) los valores del acelerómetro solo se proporcionan cuando hay un cambio significativo en el valor. Sentado en una mesa, por ejemplo, podría haber una o cero actualizaciones por minuto
Para producir un código robusto en todos los modelos de teléfono, ¿cómo puedo distinguir entre la falta de eventos de actualización por pantalla apagada? ¿falta de actualizaciones por no movimiento? ¿Debo mantener una base de datos de modelos de teléfonos?
Una buena aplicación de hecho anular el registro del acelerómetro cuando la actividad va en segundo plano. – Wroclai
Gracias por el comentario. Un ejemplo de una necesidad legítima para la respuesta a esta pregunta podría ser una aplicación de podómetro que registra al oyente en un servicio. – luser845
Mi experiencia ha sido que un bloqueo parcial de activación mantiene la CPU activa incluso cuando la pantalla se apaga. Si no hay un cambio significativo en las lecturas del acelerómetro, ¿por qué le importaría una actualización? Sin embargo, dudo que la mayoría de los paquetes de sensores emitan tanto ruido que nunca leen cero. – Idistic