【发布时间】:2012-02-14 14:58:33
【问题描述】:
我想获取有关设备的信息,以查看它是智能手机还是平板电脑。我该怎么做?
我想根据设备类型从资源中显示不同的网页:
String s="Debug-infos:";
s += "\n OS Version: " + System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")";
s += "\n OS API Level: " + android.os.Build.VERSION.SDK;
s += "\n Device: " + android.os.Build.DEVICE;
s += "\n Model (and Product): " + android.os.Build.MODEL + " ("+ android.os.Build.PRODUCT + ")";
但是,对我的情况来说似乎没用。
这个解决方案现在对我有用:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;
if (SharedCode.width > 1023 || SharedCode.height > 1023){
//code for big screen (like tablet)
}else{
//code for small screen (like smartphone)
}
【问题讨论】:
-
使用 displaymetris 获取您的屏幕尺寸并执行此操作。
-
找到屏幕尺寸是唯一的方法。您无法真正从“智能手机”和“平板电脑”的角度来考虑它。最后,屏幕尺寸是你想要的。
-
您的差异仅基于布局吗?或者你打算给出完全不同的内容?多种布局和活动与片段是你的方式。
-
使用物理像素是一个可怕的想法,因为设备的像素密度越来越高。至少你应该使用 dp 作为单位。