我试图找到以英寸为单位的设备的真实屏幕尺寸,并且我测试了在 stackoverflow 和 google 上找到的一些代码getRealMetrics()
,但该代码在所有设备上都无法正常工作。
例如,在 NEXUS 5 上它运行良好并告诉设备有 4.96 英寸,但在带有 KitKat 4.4.2 的 BQ Aquaris E5 FHD 中它不能正常工作并告诉设备有 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);