¿Es posible detectar movimiento cuando la pantalla está apagada?

Mi aplicación sólo tiene que detectar cualquier movimiento del dispositivo mientras la pantalla está apagada.

Sé que el acelerómetro se utiliza para esta tarea, pero no funciona mientras la pantalla está apagada en todos los dispositivos. Esta es una lista de dispositivos http://www.saltwebsites.com/2012/android-accelerometers-screen-off

Por lo que hay una manera de tomar los datos del sensor acelerómetro mientras la pantalla está apagado que funciona en todos los dispositivos?

O hay una manera de detectar el movimiento utilizando otros sensores?

4 Solutions collect form web for “¿Es posible detectar movimiento cuando la pantalla está apagada?”

Partial Wake Lock es todo lo que necesita para acceder a las lecturas del acelerómetro mientras la pantalla está apagada.

Puedes usarlo así:

 private PowerManager.WakeLock mWakeLock; PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag"); mWakeLock.acquire(); 

Y cuando termines, solo suelta el bloqueo:

 mWakeLock.release(); 

Si obtiene datos de acelerómetro en un Service , simplemente puede obtener bloqueo en onCreate() y liberar en onDestroy() .

Sí, puede utilizar el acelerómetro en segundo plano o cuando la pantalla está apagada
Pero es necesario mantener un WakeLock [Link] para evitar que el dispositivo de dormir.

Si necesita detectar si el dispositivo está inmóvil o si comenzó a moverse de nuevo, podría estar interesado en Reconocer la actividad actual del usuario de Google Services.

Después de una investigación rápida encontré que la mayoría de los dispositivos de Android no envía los eventos de acelerómetro cuando la pantalla está apagada. Para saber más sobre este error por favor eche un vistazo aquí . También aquí también.

Cuando la pantalla está apagada la CPU se va a dormir y no se pueden capturar eventos sin tomar un wakelock parcial. Le sugiero que tome un wakelock parcial cuando llame a la onPause y lo suelte onResume . Tenga cuidado con los wakelocks que hacen su teléfono drenar una cantidad realmente grande de energía, usted debe manejarlos cuidadosamente.

PS: Tienes que adquirir el wakelock en el método onPause porque si intentas llamarlo a otro lugar, tal vez no puedas ganarlo porque la CPU ya está cerrada.

  • ¿Qué ocurre con mi técnica de monitorización de sensores?
  • Mi algoritmo para calcular la posición del teléfono inteligente - GPS y sensores
  • Cómo calcular correctamente la aceleración lineal usando AcceleroMeter en Android
  • Cómo usar el Acelerómetro para medir la distancia para el desarrollo de aplicaciones para Android
  • Cómo obtener datos de orientación suave en android
  • ¿Cómo anular el registro de un oyente de un sensor después de detener el servicio?
  • Android sincronizado onSensorChanged?
  • Mecánico de seguridad de craqueo utilizando Android de audio y sensores de orientación
  • Cómo calibrar el sensor de orientación en android?
  • Obtener el valor lux del sensor de luz sin evento onSensorChanged ()?
  • Android: Sensores
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.