您好我已经创建了一个应用程序,因为我想在启动时检测平板电脑或移动设备。
我有5.5英寸平板电脑。
如何使它成为可能?
答案 0 :(得分:1)
试试这个
public static boolean isTabletDevice(Context activityContext) {
// Verifies if the Generalized Size of the device is XLARGE to be
// considered a Tablet
boolean xlarge = ((activityContext.getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_XLARGE);
// If XLarge, checks if the Generalized Density is at least MDPI
// (160dpi)
if (xlarge) {
DisplayMetrics metrics = new DisplayMetrics();
Activity activity = (Activity) activityContext;
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
// MDPI=160, DEFAULT=160, DENSITY_HIGH=240, DENSITY_MEDIUM=160,
// DENSITY_TV=213, DENSITY_XHIGH=320
if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT
|| metrics.densityDpi == DisplayMetrics.DENSITY_HIGH
|| metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM
|| metrics.densityDpi == DisplayMetrics.DENSITY_TV
|| metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) {
// Yes, this is a tablet!
return true;
}
}
// No, this is not a tablet!
return false;
}
答案 1 :(得分:0)
在android中有像values-normal-ldpi这样的目录,可以访问手机的尺寸,7GB平板电脑的值为sw600dp,10英寸平板电脑的值为sw720dp。您可以在这些目录中使用布尔变量,如: -
<bool name="is_tablet">true</bool>
将两个平板电脑目录设置为true,将电话设置为false。 像
一样访问它 context.getResources().getBoolean(R.bool.is_tablet);
如果它返回true,那就是平板电脑其他电话。