如何检测当前设备是否为Android平板电脑?

如何检测当前设备是否为Android平板电脑?,android,android-layout,Android,Android Layout,我目前正在使用android应用程序。在这个应用程序中,我添加了下面这行代码来隐藏android的topbar requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 在这种情况下,当用户想要在手机中输入我的应用设置时,他们可以按下Andr

我目前正在使用android应用程序。在这个应用程序中,我添加了下面这行代码来隐藏android的topbar

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

在这种情况下,当用户想要在手机中输入我的应用设置时,他们可以按下Android手机的“菜单”按钮。但对于三星Galaxy tab2 7.0,它没有菜单按钮。这就是为什么我想知道如何在我的应用程序中检测当前的访问设备是否为平板电脑。如果是平板电脑,我想在我的应用程序中显示Android的工具栏。

你的Galaxy选项卡运行的是蜂巢或更高版本,这意味着旧的选项菜单已被弃用,取而代之的是操作栏。尽管如此,标题栏中仍然有一个菜单图标(蜂巢中有一个带斜线的正方形,果冻豆中有三个正方形点)。如果您的用户单击该按钮,他们将获得您的标准选项菜单(但是没有菜单项图标)

另一种方法是运行ActionBar Sherlock,为您的应用程序提供操作栏,而不管操作系统版本如何

如果您坚持基于OS版本进行自己的分支,请尝试以下方法:

int sdk = android.os.Build.VERSION.SDK_INT;

if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB)
{
    // Gingerbread and earlier
}
else
{
    // Honeycomb and later
}
intsdk=android.os.Build.VERSION.sdk\u int;
如果(sdk
现在,我的Galaxy Tab2 7.0是Jellybean,而我的SIII则不是。这就是为什么我们无法检测基于我的操作系统版本。按屏幕大小检测怎么样?