Android 如何获得设备的实际屏幕尺寸(英寸)?

Android 如何获得设备的实际屏幕尺寸(英寸)?,android,screen-size,android-screen,inches,Android,Screen Size,Android Screen,Inches,我试图找到一台设备的真实屏幕大小(英寸),我用getRealMetrics测试了stackoverflow和google上的一些代码,但这些代码在所有设备上都不起作用 例如,在NEXUS 5上,它工作正常,显示设备有4.96英寸,但在BQ Aquaris E5 FHD和KitKat 4.4.2中,它工作不好,显示设备有4.59英寸,显示设备有5英寸 这是无法正常工作的代码: DisplayMetrics displayMetrics = new DisplayMetrics(); getWind

我试图找到一台设备的真实屏幕大小(英寸),我用getRealMetrics测试了stackoverflow和google上的一些代码,但这些代码在所有设备上都不起作用

例如,在NEXUS 5上,它工作正常,显示设备有4.96英寸,但在BQ Aquaris E5 FHD和KitKat 4.4.2中,它工作不好,显示设备有4.59英寸,显示设备有5英寸

这是无法正常工作的代码:

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);        
double d1 = displayMetrics.widthPixels / displayMetrics.xdpi;
double d2 = displayMetrics.heightPixels / displayMetrics.ydpi;
double deviceInches = Math.sqrt(d1 * d1 + d2 * d2);

你试过用密度或者密度dpi除以设备英寸吗?我不明白你的意思,如果我除以设备英寸,我会得到一个较低的值,而不是真正的屏幕英寸值。啊,很抱歉,我弄错了。我不知道你是在用宽度和高度除以密度。我想说的是,试着找出屏幕的对角线长度(以像素为单位),然后除以密度。如果你看一下维基百科,了解他们是如何计算屏幕密度的,你会发现他们是根据屏幕的对角线来计算的,那么制造商在这个设备上有一个bug,大概在他们的密度值的某个地方。请联系制造商并要求他们修理设备。