如何判断Android设备是手机还是平板?

时间:2023-03-09 02:41:11
如何判断Android设备是手机还是平板?

转自:http://blog.csdn.net/zuolongsnail/article/details/8682950

Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平板。

网上有的说直接判断是否有电话功能,不过现在的平板有的也支持电话功能了。

所以只能通过计算设备尺寸大小的方法来判断是手机还是平板了。

源码如下:

  1. /**
  2. * 判断是否为平板
  3. *
  4. * @return
  5. */
  6. private boolean isPad() {
  7. WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
  8. Display display = wm.getDefaultDisplay();
  9. // 屏幕宽度
  10. float screenWidth = display.getWidth();
  11. // 屏幕高度
  12. float screenHeight = display.getHeight();
  13. DisplayMetrics dm = new DisplayMetrics();
  14. display.getMetrics(dm);
  15. double x = Math.pow(dm.widthPixels / dm.xdpi, 2);
  16. double y = Math.pow(dm.heightPixels / dm.ydpi, 2);
  17. // 屏幕尺寸
  18. double screenInches = Math.sqrt(x + y);
  19. // 大于6尺寸则为Pad
  20. if (screenInches >= 6.0) {
  21. return true;
  22. }
  23. return false;
  24. }