获取API 24中的实际屏幕尺寸

时间:2017-08-13 20:44:03

标签: android screen-resolution

我有一个单例类,我将上下文传递给它并且包含以下函数:

public ScreenResolution getScreenResolution()
{
    ScreenResolution resolution = new ScreenResolution();

    Display display = ((WindowManager) this.context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    DisplayMetrics realMetrics = new DisplayMetrics();
    display.getRealMetrics(realMetrics);

    Log.d( "ScreenResolution", realMetrics.toString() );

    return resolution;
}

Logcat输出:

DisplayMetrics{density=2.625, width=1080, height=1920, scaledDensity=2.625, xdpi=386.3655, ydpi=390.144}

我有三星Galaxy S6 Edge +(运行Android 7.0),屏幕分辨率为1440x2560,但DisplayMetrics返回1080x1920。

我遇到的所有解决方案似乎仅适用于较旧的API(API 14/17)。如何阅读API 24的真实屏幕分辨率以及为什么它首先会返回错误的资源?

读取Build.MODEL并将其交叉引用到屏幕分辨率表可能更可靠吗?

0 个答案:

没有答案