Cómo obtener la resolución de pantalla nativa del monitor externo

Estoy probando mi aplicación Android con la caja de streaming de medianoche (Android 4.0.4) y monitor externo con resolución de 1080p. Cuando pido el ancho y la altura de la pantalla para la representación de vídeo, sólo tengo 1280×720 en lugar de 1920×1080. Aquí está el código que usé.

DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels; 

Por cierto, el siguiente código se había añadido a la actividad correspondiente para obtener la pantalla completa sin barra de título.

 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Estoy bastante seguro de que la resolución en mi monitor se establece en 1080p. ¿Alguna idea de por qué Android está usando sólo 720p?

Cuando pido el ancho y la altura de la pantalla para la representación de vídeo, sólo tengo 1280×720 en lugar de 1920×1080.

Esto se debe a que su teléfono (o lo que sea una "caja de streaming de medianoche") mostrará 1280×720 en la pantalla externa.

¿Alguna idea de por qué Android está usando sólo 720p?

Los dispositivos que soportan pantallas externas a través de HDMI entre Android 3.0 y Android 4.2 harían una de dos cosas:

  1. No ofrece ningún medio para que las aplicaciones de terceros se proyecten a la pantalla, o

  2. Utiliza la resolución nativa del dispositivo o algo cercano

Por ejemplo, al conectar una tableta WXGA800 a una pantalla con capacidad para 1080p, se obtendría una imagen de 720p, ya que Android ampliará el tamaño de la barra del sistema a 80px y reflejará todo lo anterior sobre el monitor. La resolución de la pantalla no era la restricción – la resolución del dispositivo era.

Por lo tanto, 720p es perfectamente razonable.

Después de editar el archivo /system/build.props, obtengo una resolución de 1080p desde mi caja de streaming Android de medianoche. Por supuesto, necesito tener acceso root al sistema de archivos para su edición.

Fije el ancho y la altura como 1920 y 1080 como sigue.

 const.window.w=1920 const.window.h=1080 

Y luego comenta la siguiente línea.

 #ro.platform.has.1080scale=2 

Consulte la siguiente publicación para obtener más detalles. http://androidtvbox.us/topic/maximum-resolution-of-hdmi-output/#post-4253

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.