在没有出现android电视之前,如果要区分平板和手机有很多种方法:

方法1:看是否有通话功能

 1 public boolean isTabletDevice() { 2         TelephonyManager telephony = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); 3         int type = telephony.getPhoneType(); 4         if (type == TelephonyManager.PHONE_TYPE_NONE) { 5             Log.i("is Tablet!"); 6         } else { 7             Log.i("is phone!"); 8         } 9         return false;10     }

方法2:通过判断屏幕尺寸,此方法中认为尺寸大于6寸的都是平板(不太靠谱,总有一天会有大于6寸的手机的出现)

 1 /** 2       * 检测是平板(电视)还是手机 3       * @return 4       */ 5      private boolean isPad() { 6           7          DisplayMetrics dm = new DisplayMetrics(); 8          getWindowManager().getDefaultDisplay().getMetrics(dm); 9          int width=dm.widthPixels;10          int height=dm.heightPixels;11          int dens=dm.densityDpi;12          double wi=(double)width/(double)dens;13          double hi=(double)height/(double)dens;14          double x = Math.pow(wi,2);15          double y = Math.pow(hi,2);16          CommonUtils.LogWuwei(tag, "width is "+wi+" height is "+hi);17          double screenInches = Math.sqrt(x+y);18          19          CommonUtils.LogWuwei(tag, "screenInches is "+screenInches);20          21         // MsgUtils.SendSingleMsg(splash.handlerTools,"screenInches is "+screenInches , HandlerUtils.SHOW_NORMAL_TOAST);22          23          // 大于6尺寸则为Pad24          if (screenInches >= 6.0) {25           return true;26          }27          28          return false;29         }30 31      

现在的平板手机的出现,更是让方法2不再使用。

回到问题的本质,为什么要区分平板和手机?

区分的目的是为了区分针对不同的设备带来最佳的用户体验,那么对于大于6寸的android设备将其处理为平板是无可厚非的。

更多相关文章

  1. android 6.0後讀取外部SD卡的路徑的方法
  2. Android Studio 2.3 在小米手机中 调试安装Apk失败
  3. Android 解决65535的限制 使用android-support-multidex解决Dex
  4. Android 应用语言切换的三种方法
  5. Android CheckBox中设置padding无效问题解决方法
  6. Android设备Root检测方法
  7. Android Studio中创建Selector文件的方法
  8. android 手机logo 的设置
  9. blcr加速android启动速度遇到的问题及解决方法

随机推荐

  1. 一个非常好用的自定义圆形控件
  2. Android 进阶学习思维大纲
  3. android 振动器系统
  4. Android AsyncTask完全解析 带你从源码的
  5. Android平台一些流行的使用3D技术开发的锁
  6. mipmap 和 drawable 的区别
  7. 电脑控制Android设备的软件——Total Con
  8. Android 中的单元测试 (普通Java类中的Fu
  9. 手游开发Android平台周边工具介绍
  10. 在ubuntu系统下cocos2dx移植到android平