Estoy intentando algo nuevo en Android para el que necesito acceder al manejador del subproceso de interfaz de usuario.Acceso al manejador de subprocesos de UI desde un servicio
Sé lo siguiente:
- El hilo de interfaz de usuario tiene su propio manejador y looper
- Cualquier mensaje será puesto en la cola de mensajes del subproceso de interfaz de usuario
- El medidor recoge el evento y lo pasó al controlador
- El controlador maneja el mensaje y envía el evento specfic a la IU
Quiero tener mi servicio que tiene que obtener el controlador de subprocesos de interfaz de usuario y poner un mensaje en este controlador. Para que este mensaje se procese y se envíe a la interfaz de usuario. Aquí el servicio será un servicio normal que será iniciado por alguna aplicación.
Me gustaría saber si esto es posible. Si es así, sugiérele algunos fragmentos de código para que pueda probarlo.
Regards Girish
Gracias por este consejo. Esto fue útil. Consulte el siguiente pila para un flujo de eventos táctiles a mi actividad MyDemo.dispatchTouchEvent (MotionEvent) Línea: 20 PhoneWindow $ DecorView.dispatchTouchEvent (MotionEvent) Línea: 1696 ViewRoot.handleMessage (Mensaje) Línea: 1658 ViewRoot (Handler) .dispatchMessage (Mensaje) línea: 99 Looper.loop() línea: 123 // manejo de eventos comienza aquí ActivityThread.main (String []): la línea 4203 Aquí el ViewRoot es un Handler. Quiero obtener la referencia de este controlador ... ¿es posible obtener esto de mi aplicación? – iLikeAndroid
@iLikeAndroid: si no creó el 'Handler', no puede acceder a él, AFAIK. – CommonsWare
Gracias. Intenté crear una instancia de ViewRoot. Esto no es más que un controlador. Ahora puedo emitir los mensajes en este controlador. El controlador recibe el mensaje. Pero ViewRoot no puede procesar el mensaje, ya que no se inicializa correctamente. Necesito llamar a ViewRoot.setView() para inicializar los datos correctos a ViewRoot. Quiero saber si hay una vista predeterminada o una vista base, etc., que puedo usar para inicializar? – iLikeAndroid