Superposición de vista de aplicación de Android (HUD)

Quiero superponer una vista de toda mi aplicación, todas las actividades incluidas. Piense en ello como un HUD (Head Up Display) sobre mi aplicación. La aplicación tiene varias actividades, incluida una actividad de pestañas y el HUD no interactúa con el usuario de ninguna manera, sólo muestra información al tiempo que permite al usuario interactuar con la aplicación como lo haría normalmente. Quiero este HUD para fines de depuración para que yo (y otros) puedan controlar la actividad de la aplicación y el estado cuando el teléfono no está conectado a una máquina de depuración (pruebas de campo).

¿Cómo agrego una vista de este tipo?

He intentado usar WindowManager.addView () así:

WindowManager.LayoutParams lp = new WindowManager.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, WindowManager.LayoutParams.TYPE_APPLICATION, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); windowManager.addView(hudView, lp); 

Pero el HUD no parece persistir en primer plano cuando lanzo nuevas actividades simplemente desaparece.

Sé que esta es una vieja pregunta, pero pensé que contestaría de todos modos ya que esto me ayudó. Estaba tratando de conseguir un HUD corriendo en un juego openGL y esto funciona perfectamente para eso.

Dado que ya tiene el HUD que muestra con el gestor de ventanas, todo lo que necesita hacer para mantenerlo persistente entre las actividades es llamar a windowManager.addView(hudView, lp); En el método onResume() cada actividad. No está seguro de cuáles son las implicaciones de memoria (es decir, es la vista que se desecha cuando el administrador de ventanas lo elimina de la pantalla al cambiar las actividades), pero al menos mantendrá el HUD en toda la aplicación.

Leí que dejó de trabajar con android, pero tal vez para otros lectores:

Se ha perdido el indicador WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, Lo mejor para implementar como una vista inflada por un servicio. No lo llame en todas las actividades de onResume.

  • Android: Elementos de interfaz de usuario sobre capa de lienzo
  • View.setBackground lanza NoSuchMethodError
  • WebView no se dibuja, WARN / webcore (5336): No se puede obtener la viewWidth después del primer diseño
  • Eliminar un OnClickListener en una vista quitar todos los eventos de toque en las vistas detrás
  • Android SearchView con otros elementos de ActionBar
  • Método recomendado para presentar texto con formato en Android?
  • Android: removeMessages (int what = 107) no está soportado antes de que WebViewCore esté configurado cuando url contenga http
  • ¿Cómo usar la vista propia en el diseño?
  • Android View con View.GONE sigue recibiendo onTouch y onClick
  • Error al inflar la vista de clase interna
  • Error de IndexOutOfBoundsException de Android para la vista de lista de filtros de búsqueda
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.