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.

  • Cómo utilizar múltiples TouchDelegate
  • Deslizar a otra vista en recyclerVer con ItemTouchHelper
  • Método recomendado para presentar texto con formato en Android?
  • View.setBackground lanza NoSuchMethodError
  • Android LinearLayout con varias filas
  • Android: ¿Proporciona sugerencias de búsqueda recientes sin actividad de búsqueda?
  • Crash con SurfaceView en Android NDK al pausar / reanudar la aplicación rápidamente
  • ¿Cómo agregar TextView en medio de pulgar SeekBar?
  • Ocultar el teclado después de que un usuario termine una consulta en un SearchView
  • se llama onmeasure y no sé por qué - android
  • RemoteViews setLayoutParams?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.