怎么判断Android设备是手机还是平板

如何判断Android设备是手机还是平板?

Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平板。

网上有的说直接判断是否有电话功能,不过现在的平板有的也支持电话功能了。

所以只能通过计算设备尺寸的大小的方法来判断是手机还是平板了。


源码如下:

/**
 * 判断是否为平板
 * 
 * @return
 */
private boolean isPad() {
	WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
	Display display = wm.getDefaultDisplay();
	// 屏幕宽度
	float screenWidth = display.getWidth();
	// 屏幕高度
	float screenHeight = display.getHeight();
	DisplayMetrics dm = new DisplayMetrics();
	display.getMetrics(dm);
	double x = Math.pow(dm.widthPixels / dm.xdpi, 2);
	double y = Math.pow(dm.heightPixels / dm.ydpi, 2);
	// 屏幕尺寸
	double screenInches = Math.sqrt(x + y);
	// 大于6尺寸则为Pad
	if (screenInches >= 6.0) {
		return true;
	}
	return false;
}