Это верно на моем Nexus One, но не на моем Galaxy S2 (T-mobile).Поэтому я написал некоторый код, чтобы вернуться к менее точным измерениям.По сути, если xdpi и ydpi не находятся в пределах 5% от общей плотности, используйте универсальную.
Кто сказал, что фрагментация не проблема?Набор тестов продуктов Google для сертификации не должен использовать эту часть API.
DisplayMetrics dm = new DisplayMetrics();
((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
float density = dm.density;
density = density * 160;
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
float errX = Math.abs((xdpi / density) - 1f);
float errY = Math.abs((ydpi / density) - 1f);
if (errX > .05 && errY > .05)
{
xdpi = density;
ydpi = density;
}