官方用法:
/** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android * @param context * @return 平板返回 True,手机返回 False */ public static boolean isPad(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; }通过计算设备尺寸大小的方法来判断是手机还是平板:
- /**
- * 判断是否为平板
- *
- * @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;
- }
是否具备电话功能判断方法(现在部分平板也可以打电话):
public static boolean isPad(Activity activity) { TelephonyManager telephony = (TelephonyManager)activity.getSystemService(Context.TELEPHONY_SERVICE); if (telephony.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) { return true; }else { return false; } }