Quiero escribir una aplicación de Android que sería un servicio en segundo plano que escucharía un gesto específico o presionar una tecla en el y luego desencadenar una acción. ¿Es posible hacer tal cosa con un servicio? Si es así, ¿podría alguien guiarme en la dirección correcta? Tengo búsqueda alta y baja puede parecer encontrar una respuesta.lectura de Android entrada de usuario en un servicio
Respuesta
Hacer esto (excepto en la parte superior de las aplicaciones que cooperan enviándoles su información) sería un gran agujero de seguridad del tipo que la arquitectura de Android está diseñada para prohibir. Para hacerlo, necesitaría modificar la plataforma y hacer que la observación se realice mediante algo que se ejecute con acceso a la entrada sin procesar del botón y el botón, posiblemente como parte del controlador para eso.
En otras palabras, puede hacerlo con dificultad en su propio teléfono rooteado o en los dispositivos que fabrica, pero no es utilizable para la mayoría de las personas.
no es difícil de leer en el lugar donde se tocan, pero los toques de esta manera proporcionan solo la ubicación, no el tiempo, ni en altibajos.
en su servicio
@Override
public void onDestroy() {
super.onDestroy();
if (layout != null) {
((WindowManager) getSystemService(WINDOW_SERVICE)).removeView(layout);
layout = null;
}
}
@Override
public void onCreate() {
super.onCreate();
layout = new RelativeLayout(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
params.setTitle("test");
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(layout, params);
}
y su carretilla para el tacto, tendrá que ser tan
public boolean gestureHandler(MotionEvent event, boolean eat) {
if(event.getAction() == MotionEvent.ACTION_OUTSIDE)
El administrador de ventanas no le permitirá agregar vistas desde un servicio ... Este código genera una excepción. – FoamyGuy
una actualización puede haber roto esto. –
- 1. C - Lectura de entrada de usuario
- 2. Lectura de entrada de usuario sin eco
- 3. lectura de entrada de un comando del sistema en Haskell
- 4. Entrada de lectura de la consola Groovy
- 5. Lectura de kallsyms en modo de usuario
- 6. Aceptar entrada de usuario
- 7. Android: Detectar inactividad del usuario/Detectar (teclado) entrada de teclado
- 8. Lectura de un entero a partir de la entrada estándar
- 9. Android lectura de cookies
- 10. Entrada de lectura desde la consola en OSX
- 11. Creando un servicio de fondo en Android
- 12. Entrada de usuario en un cuadro de diálogo de mensaje
- 13. lectura() desde la entrada estándar
- 14. Android webview dentro de un servicio?
- 15. no buffering entrada estándar lectura
- 16. Entrada de usuario + Ruby + Regex?
- 17. Autenticación de usuario en un servicio REST de Jersey
- 18. Servicio de chat de Android
- 19. Aplicación de servicio de Android
- 20. Configuración de un usuario de solo lectura para SVN-Apache
- 21. Lectura de texto de un EditText en android
- 22. wix obtener usuario de entrada
- 23. Entrada de la consola de lectura en MonoDevelop
- 24. Validar la entrada de dirección en Android
- 25. Lectura de flujo de entrada USB en linux
- 26. ¿Cómo iniciar automáticamente el servicio en Android?
- 27. lectura más rápida de la bandeja de entrada en Java
- 28. Servicio de inicio en Android
- 29. Makefile - ¿Por qué el comando de lectura no lee la entrada del usuario?
- 30. Lectura de una matriz Json en Android
En general no debería ser capaz de capturar gestos o pulsaciones de teclas de un servicio. Echa un vistazo a la barra de búsqueda de Google Gesture. Utilizan una pulsación larga en el botón de búsqueda para abrir una actividad que luego captura el gesto. Pero no sé qué intento o señal utilizan para que se les notifique la larga búsqueda en la prensa. – Janusz