14、到底改如何区分android的平板、电视、手机
2015-02-26 20:57
246 查看
在没有出现android电视之前,如果要区分平板和手机有很多种方法:
方法1:看是否有通话功能
方法2:通过判断屏幕尺寸,此方法中认为尺寸大于6寸的都是平板(不太靠谱,总有一天会有大于6寸的手机的出现)
现在的平板手机的出现,更是让方法2不再使用。
回到问题的本质,为什么要区分平板和手机?
区分的目的是为了区分针对不同的设备带来最佳的用户体验,那么对于大于6寸的android设备将其处理为平板是无可厚非的。
方法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; }
方法2:通过判断屏幕尺寸,此方法中认为尺寸大于6寸的都是平板(不太靠谱,总有一天会有大于6寸的手机的出现)
/** * 检测是平板(电视)还是手机 * @return */ private boolean isPad() { DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width=dm.widthPixels; int height=dm.heightPixels; int dens=dm.densityDpi; double wi=(double)width/(double)dens; double hi=(double)height/(double)dens; double x = Math.pow(wi,2); double y = Math.pow(hi,2); CommonUtils.LogWuwei(tag, "width is "+wi+" height is "+hi); double screenInches = Math.sqrt(x+y); CommonUtils.LogWuwei(tag, "screenInches is "+screenInches); // MsgUtils.SendSingleMsg(splash.handlerTools,"screenInches is "+screenInches , HandlerUtils.SHOW_NORMAL_TOAST); // 大于6尺寸则为Pad if (screenInches >= 6.0) { return true; } return false; }
现在的平板手机的出现,更是让方法2不再使用。
回到问题的本质,为什么要区分平板和手机?
区分的目的是为了区分针对不同的设备带来最佳的用户体验,那么对于大于6寸的android设备将其处理为平板是无可厚非的。
相关文章推荐
- 这个开源项目展示了如何实现一个横跨各种Android平台的音乐播放器,包括手机,平板,汽车,手表,电视等。Google官方推出,跨平台开发必看项目。
- 如何判断Android设备是手机还是平板?
- Ios设备介绍,android资源文件和区分手机和平板的标准,按钮的状态
- Unity如何区分安卓、苹果设备是手机与平板?
- Android之如何判断设备是平板还是手机
- 如何把同一个Android项目同时安装到手机上--Android系统如何区分不同app
- 如何解决android应用在大屏幕手机或者平板电脑无法全屏显示的问题
- 很牛逼的android真机调试,手机、平板、电视都可
- Win10 如何连接Android 手机平板--驱动安装数字签名失败解决方案
- 如何判断Android设备是手机还是平板?
- android手机电视助手是如何控制电视的呢?
- Android中如何判断是手机还是平板
- 如何判断Android设备是手机还是平板?
- 如何判断Android设备是手机还是平板?
- 关于如何区分Android手机是32位还是64位
- 如何区分 使用的是手机还是平板?
- [cocos2dx]如何将Android手机游戏移植到电视?
- 如何区分 使用的是手机还是平板? 续
- android--如何判断是平板还是手机?
- 如何安全Android:手机或平板电脑14个安全的秘诀