Necesito detectar cuando el usuario interactúa con el teléfono y reiniciar mi aplicación después de 60 segundos desde el último toque del usuario en la pantalla. ¿Es posible hacer algo como eso? Debe funcionar como el servidor de pantalla para PC.¿Detecta si el usuario interactúa con el teléfono?
Respuesta
¿Es posible hacer algo como eso?
Solo si su actividad está en primer plano, en cuyo caso puede realizar un seguimiento de los eventos táctiles. No puede averiguar sobre los eventos táctiles que suceden en otras partes del sistema.
ACTION_USER_PRESENT
es una acción de difusión, por lo que debería poder escribir un receptor de difusión para responder e iniciar su aplicación. Tenga en cuenta que es ACTION_USER_PRESENT
envía cuando el usuario está presente después del dispositivo se activa (por ejemplo cuando el bloqueo se ha ido).
Asimismo, sólo se encontró con un example donde la acción BOOT_COMPLETED
emisión es utilizado por un receptor de radiodifusión para iniciar una aplicación en el arranque.
De acuerdo con el ciclo de vida de Android, si el usuario presiona el botón de inicio o el teclado bloqueado en Pause recibirán una llamada.Así que haga algo como esto.
@Override
public void onPause()
{
super.onPause();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
finish();
}
};
timer.schedule(task, 60000);
}
y si el usuario llega antes de los 60 segundos después en onRestart()
.
@Override
public void onRestart()
{
super.onRestart();
timer.cancel();
timer.purge();
}
- 1. ¿Detecta si el usuario tiene capacidades de impresión?
- 2. PySide/PyQt detecta si el usuario intenta cerrar la ventana
- 3. ¿Cómo verificar si el número de teléfono ingresado por el usuario incluye el código de país?
- 4. En javascript 'Si el teléfono móvil'
- 5. Detecta el compilador con #ifdef
- 6. ¿Detecta si un usuario web está actualmente conectado a Google?
- 7. ¿Cómo interactúa un programa compilado con el sistema operativo?
- 8. ¿Cómo interactúa el lenguaje de ensamblaje con algo como Internet?
- 9. ¿Detecta si Mod_Security está instalado con PHP?
- 10. Android: ¿detecta el brillo (cantidad de luz) en el entorno del teléfono usando la cámara?
- 11. ¿Cómo se detecta el número de teléfono de detección en el safari móvil?
- 12. ¿Verifica si el usuario está desplazándose con el panel táctil?
- 13. ¿Detecta cuando el usuario regresa del uso de EmailComposeTask?
- 14. Detecta si un VideoVIew está almacenando en el buffer
- 15. Detecta el estado de dos tarjetas SIM en un teléfono Android dual-SIM
- 16. Android: detecta el evento de desbloqueo del teléfono, no la pantalla en
- 17. Detecta el navegador firefox con jquery
- 18. Detecta si el navegador móvil admite desbordamiento: scroll
- 19. .NET compact framework - ¿detecta si está bajo el emulador?
- 20. ¿Detecta el software AdBlocking?
- 21. C# - Detecta la hora de la última interacción del usuario con el sistema operativo
- 22. Android: detecta mediante programación si el dispositivo tiene el botón de menú de hardware
- 23. Android: método de vibrador (si el teléfono no tiene vibrador?)
- 24. ¿Cómo puedo verificar si el teléfono Android se está cargando?
- 25. ¿Cómo el controlador tty interactúa con el controlador UART durante las operaciones de lectura/escritura?
- 26. ¿Detecta si UIDatePicker está en funcionamiento?
- 27. ¿Hay alguna manera de saber si su aplicación se está utilizando mientras el usuario está en el teléfono?
- 28. ¿Detecta si un NSString contiene ...?
- 29. ¿Cómo puedo detectar si el usuario está "inactivo" con javascript?
- 30. ¿Es posible escribir un receptor de emisión Android que detecta cuándo se activa el teléfono?
me encontré con esta solución: http://stackoverflow.com/questions/4481226/creating-a-system-overlay-always-on-top-button-in-android y parece que funciona. Creo que no es bueno, ¿qué piensas? – Gabrielle
@Gabrielle: Eso no funcionará en dispositivos más nuevos. Para prevenir los ataques de toma de acceso, * usted * puede obtener los eventos táctiles (y las aplicaciones subyacentes no), o * ellos * pueden obtener los eventos táctiles (y no puede). – CommonsWare
Tiene razón, probé en un dispositivo más nuevo y no funciona. ¡Gracias! – Gabrielle