網上找了很多方法,說用分辨率的最多,但是現在很多高端手機的分辨率也上千了;還有用SDK版本的,這個更不現實,4.0的手機越來越多;其實平板和手機最大區別就是能否打電話,所以我利用這點來判斷,當然像三星P1000也能打電話,要是真要非常精確就結合分辨率一起判斷。
我這里僅使用電話功能來判斷:
public boolean isTabletDevice() { TelephonyManager telephony = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); int type = telephony.getPhoneType(); if (type == TelephonyManager.PHONE_TYPE_NONE) { Log.i("is Tablet!"); } else { Log.i("is phone!"); } return false; }
這里的PhoneType在SDK里有如下幾種:
都代表什么一目了然。