在某些设备中,设备密度似乎返回0。我使用下面的代码来计算设备密度:
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
density = metrics.density;
这导致PlayStore发生了一些崩溃。在这种情况下,用户的设备似乎大多使用Android 2.2.x版。我们应该如何处理这些旧设备中的设备密度? 请帮忙。
答案 0 :(得分:1)
如果您的目标API级别早于4,则metrics.density属性是参考密度(160dpi)的浮点缩放系数。可以计算metrics.densityDpi现在提供的相同值
DisplayMetrics metrics = getResources().getDisplayMetrics();
int densityDpi = (int)(metrics.density * 160f);