DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2)); double physicalSize = diagonalPixels / (160 * dm.density); boolean isTablet = physicalSize > 7;
2.判断设备能否有打电话功能来区分是否平板,虽然目前三星出了一款可以打电话的平板,全毕竟只有一款,再作个过滤也是可以的。
public boolean isTabletDevice() { TelephonyManager telephony = (TelephonyManager) mContext .getSystemService(Context.TELEPHONY_SERVICE); int type = telephony.getPhoneType(); if (type == TelephonyManager.PHONE_TYPE_NONE) { Log.i("is Tablet!"); } else { Log.i("is phone!"); } return false; }