デバイスのインチ単位で実際の画面サイズを見つけようとしています.stackoverflowとgoogleで見つかったいくつかのコードをテストしましたgetRealMetrics()
が、コードはすべてのデバイスでうまく機能しません.
たとえば、NEXUS 5 では問題なく動作し、デバイスのサイズが 4.96 インチであることが示されますが、BQ Aquaris E5 FHD with 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);