フラットパネルかどうかを判断する


1.一般解像度がWVGAより大きい画面の精度がMDPI以下のものは平板と考えられる
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));
double physicalSize = diagonalPixels / (160 * dm.density);
boolean isTablet = physicalSize > 7;

2.デバイスに電話機能があるかどうかを判断してタブレットかどうかを区別する.三星は現在、電話ができるタブレットを出しているが、いずれも1つしかないので、フィルタリングをしてもいい.
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;
	}