在没有出现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. Amazon 的平板能否威胁 Google
  2. Textview的maxLines大于1行时,"android:ellipsize="end" 省略号失
  3. Android(安卓)图形系统之图形缓冲区分配
  4. Android(安卓)获取进程名称(可以区分内部进程)
  5. android webview 截图快照
  6. Android(安卓)2.3系统令人为之兴奋的十大理由
  7. Google发布App开发准则 为自主Android平板开路
  8. Android(安卓)3.0,将为对战iPad归来
  9. Google发布App开发准则 为自主Android平板开路

随机推荐

  1. NDK编程:Android.mk编译APK范例
  2. [置顶] android中cardview的基本使用
  3. #Android进行文件扫描#
  4. android AsyncQueryHandler的分析
  5. android翻转动画,界面不会颠倒
  6. android 混淆代码
  7. Android:获取屏幕的宽度和高度
  8. 点击按钮之后仍然显示对话框--Android
  9. Android(安卓)USB Host 使用详解(U盘)(三)
  10. android 原生 电子邮件 应用 发送邮件附