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;
    }
}
複製代碼

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章