Android 判斷當前設備是手機還是平板


Android開發需要適配手機和平板,有些需求實現時就要求判斷設備是手機還是平板。
網上很多說通過設備尺寸、DPI、版本號、是否具備電話功能等進行判斷,不過都不算太精確。
這里分享一個簡潔給力的方法(官方用法):

/**
 * 判斷當前設備是手機還是平板,代碼來自 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;
}

令附上是否具備電話功能判斷方法(現在部分平板也可以打電話):

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;
    }
}

 

至於設備尺寸、分辨率、版本號,以目前手機來看,個人認為精度太差了,不建議使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM