【发布时间】:2012-02-17 04:22:52
【问题描述】:
有没有办法确定当前设备平板电脑是否为 Android 2.2 及更高版本?
目前我正在使用最小的屏幕尺寸,但有些平板电脑 (Viewsonic ViewPad7 480x800) 的分辨率类似于手机甚至更小(例如 HTC Evo 3D 有 960x540)。
是否有要读取的硬件属性?
【问题讨论】:
有没有办法确定当前设备平板电脑是否为 Android 2.2 及更高版本?
目前我正在使用最小的屏幕尺寸,但有些平板电脑 (Viewsonic ViewPad7 480x800) 的分辨率类似于手机甚至更小(例如 HTC Evo 3D 有 960x540)。
是否有要读取的硬件属性?
【问题讨论】:
手机和平板没有可靠的区别,只能用特定的功能来点,下面可以相互配合使用
字符串 Build.VERSION.RELEASE 将为您提供用户可见的版本字符串(即 1.5、1.6、2.0),而 Build.VERSION.SDK_INT 将为您提供来自 Build.VERSION_CODES 的值。请记住 Build.VERSION.SDK_INT 适用于 Android 1.6 更高版本,但不适用于 1.5。 Build.VERSION.SDK 可以在 1.5 或更高版本上运行。
DisplayMetrics 描述了有关显示器的一般信息
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
【讨论】:
您可以使用getResources().getConfiguration()
例如:
getResources().getConfiguration().navigation
【讨论】:
以下代码将返回物理设备的实际分辨率。
Display d = getWindowManager().getDefaultDisplay();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
int h = d.getWidth();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
int w = d.getWidth();
【讨论】: