Android 判断当前设备是手机还是平板

官方用法:

/**
 * 判断当前设备是手机还是平板,代码来自 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;
    }
}

Android 判断当前设备是手机还是平板
https://blog.jeecloud.cn/2018/02/01/20180202015631/
作者
pshgao
发布于
2018年2月2日
许可协议