Android 如何以编程方式检测设备类型,是平板电脑还是移动设备

Android 如何以编程方式检测设备类型,是平板电脑还是移动设备,android,tablet,Android,Tablet,我需要向用户显示不同的通知,如果他/她使用的是平板电脑,而不是手机。那么,是否有任何方法可以检测设备是平板电脑还是移动设备。这里有一个链接,指向如何获取屏幕密度: 然后,如果(屏幕>比较值)我们有平板电脑,其他手机,你会做类似的事情。另一种检测方法是检测Android版本 检查变量android.os.Build.VERSION,蜂窝设备是平板电脑2.x设备是手机或平板电脑 你可以看到下面的帖子 如果设备在大屏幕上运行,则返回true。您可以查看屏幕大小和/或api版本。建议屏幕尺寸,因为AP

我需要向用户显示不同的通知,如果他/她使用的是平板电脑,而不是手机。那么,是否有任何方法可以检测设备是平板电脑还是移动设备。

这里有一个链接,指向如何获取屏幕密度:


然后,如果(屏幕>比较值)我们有平板电脑,其他手机,你会做类似的事情。

另一种检测方法是检测Android版本 检查变量android.os.Build.VERSION,蜂窝设备是平板电脑2.x设备是手机或平板电脑

你可以看到下面的帖子


如果设备在大屏幕上运行,则返回true。

您可以查看屏幕大小和/或api版本。建议屏幕尺寸,因为API4.0适用于手机和平板电脑。是的,但从长远来看,这将是有缺陷的,因为4.0也适用于平板电脑。屏幕大小将是正确的选择:)手机现在运行4.0+以及平板电脑。如果该设备是智能手机,但有大屏幕,这将不起作用。
protected String getDeviceType() {
boolean status = (context.getResources().getConfiguration().screenLayout
            & Configuration.SCREENLAYOUT_SIZE_MASK)
            >= Configuration.SCREENLAYOUT_SIZE_LARGE;
if (status)
        return "Mobile";
    else
        return "Tablet";
}
protected String getDeviceType() {
boolean status = (context.getResources().getConfiguration().screenLayout
            & Configuration.SCREENLAYOUT_SIZE_MASK)
            >= Configuration.SCREENLAYOUT_SIZE_LARGE;
if (status)
        return "Mobile";
    else
        return "Tablet";
}