1. 程式人生 > >Android 判斷當前裝置是手機還是平板

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

至於裝置尺寸、解析度、版本號,以目前手機來看,個人認為精度太差了,不建議使用。