¿Es posible detectar cuando cualquier aplicación está en pantalla completa en android?

Me gustaría saber si hay algún tipo de forma de utilizar las vistas tal vez o algo para tener un servicio de fondo detectar si la aplicación de primer plano está en pantalla completa o no. Lo que significa que la barra de estado está oculta o no oculta.

¿Pensé quizá usando secuencias constantes para detectar si una visión se demuestra o no? Pero no estoy seguro exactamente. Root es una opción si es necesario.

¡¡Gracias chicos!!

¿Qué tal usar un receptor de difusión o algo así. Eso sería ideal, sin embargo no hay tal transmisión para una solicitud de pantalla completa.

Aquí es lo que hice hacer sin embargo.

He creado una superposición invisible, esta superposición invisible es 0 x 0 en tamaño 🙂

A continuación, utilizar View.getLocationOnScreen(int[]);

Esto devuelve la matriz int con los valores de las coordenadas en x e y. Entonces pruebo estas coordenadas (sólo realmente enfocando el valor de y) si es igual a 0, entonces la actividad visible actual está en pantalla completa (porque está en el área más alta de la pantalla) si la barra de estado está mostrando, entonces La vista volverá con (50 píxeles en mi dispositivo) lo que significa que la vista es de 50 píxeles de la parte superior del borde de las pantallas.

Coloco todo esto en un servicio que tiene un temporizador y cuando el temporizador expira, obtiene la ubicación, ejecuta las pruebas, y hace lo que tengo que hacer. El temporizador se cancela cuando la pantalla se apaga. Al encender la pantalla, el temporizador se reinicia.

Comprobé la cantidad de CPU que usa, y dice un 0,0% en System Tuner.

¿Has intentado getWindow().getAttributes().flags ?

 public static boolean fullScreen = (getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0; public static boolean forceNotFullScreen = (getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN) != 0; public static boolean actionbarVisible = getActionBar().isShowing(); 

Referencia:

 if( MyActivity.fullScreen){ // full screen } else{ // not full screen } 

Me gusta la idea de Seth, así que hice el fragmento de código:

 /** * Check if fullscreen is activated by a position of a top left View * @param topLeftView View which position will be compared with 0,0 * @return */ public static boolean isFullscreen(View topLeftView) { int location[] = new int[2]; topLeftView.getLocationOnScreen(location); return location[0] == 0 && location[1] == 0; } 
  • Visibilidad de un botón en el temporizador
  • Android ToggleButton
  • Android TextView en la parte superior de una vista
  • Sobreescribiendo el método onScroll del com.android.View en la codificación android?
  • Dibuja un círculo en una vista (android)
  • Androide. Buscar vista por etiqueta
  • Android - Descripción de View.getLocalVisibleRect (Rect)
  • Android View PerformClick () y callOnClick () diferencia
  • Android ¿hay alguna llamada de vista cuando se destruye?
  • Destruir vista (disposición)
  • Imagen de círculo con texto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.