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.
- Varias resoluciones de pantalla / relaciones de aspecto (juegos)
- Android que soporta todas las tabletas - categorice dibujos y diseños
- ¿Qué resolución de pantalla debo considerar al diseñar una aplicación de Android?
- ¿Hay una lista de resoluciones de pantalla para todos los teléfonos basados en Android y tabletas?
- Android Convertir Px a Dp (Video Aspect Ratio)
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?
- Android: solo compatible con el teléfono inteligente
- Resolución de pantalla mínima para dispositivos Android
- Independencia de la resolución en Android SurfaceView
- Resolución de pantalla múltiple
- Soporte de pantalla múltiple de Android en Android: problema 540x960
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:
-
No ofrece ningún medio para que las aplicaciones de terceros se proyecten a la pantalla, o
-
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