我听说 Android 开发人员可以使用一个关键字或方法来确定 Android 4.0+ 是否在平板电脑上运行(无需进行任何笨拙的屏幕尺寸比较)。我找不到它。
那么,这是真的吗?如果是这样,它是什么?
编辑:我看到人们给我的答案不是我想要的。我已经知道如何使用 kludgy 屏幕尺寸方法和使用 OS 方法来确定设备是平板电脑还是手机。我正在寻找一种从 API 级别 14 开始可用的方法,它会告诉我相同的信息——希望如此。我找不到它,所以我想知道它是否存在。
我听说 Android 开发人员可以使用一个关键字或方法来确定 Android 4.0+ 是否在平板电脑上运行(无需进行任何笨拙的屏幕尺寸比较)。我找不到它。
那么,这是真的吗?如果是这样,它是什么?
编辑:我看到人们给我的答案不是我想要的。我已经知道如何使用 kludgy 屏幕尺寸方法和使用 OS 方法来确定设备是平板电脑还是手机。我正在寻找一种从 API 级别 14 开始可用的方法,它会告诉我相同的信息——希望如此。我找不到它,所以我想知道它是否存在。
平板电脑基本上只是意味着一个大(呃)屏幕,所以归根结底。有一种简单的方法可以查看它是否是平板电脑大小的屏幕:
if ( getResources().getConfiguration().isLayoutSizeAtLeast( Configuration.SCREENLAYOUT_SIZE_XLARGE ) )
{
//Is a tablet.
}
如果您也想捕捉较小的,您可以更改Configuration.SCREENLAYOUT_SIZE_XLARGE
为。Configuration.SCREENLAYOUT_SIZE_LARGE
如 android 文档中所述,手机运行的 SDK 级别(整数)可用于:
android.os.Build.VERSION.SDK_INT;
这个 int 对应的枚举在 android.os.Build.VERSION_CODES 类中。
代码示例:
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.FROYO){
// Do something for froyo and above versions
} else{
// do something for phones running an SDK before froyo
}
编辑:此 SDK_INT 自 Donut (android 1.6 / API4) 起可用,因此请确保您的应用程序在使用时与 Cupcake (android 1.5 / API3) 不兼容,否则您的应用程序将崩溃(感谢程序员 Bruce 的精确度) .
Android 4+ 有配置对象。您可以使用“isLayoutSizeAtLeast(int size)”方法进行检查。它不像我见过的其他一些例子那么笨拙。