如何区分 使用的是手机还是平板? 续
2014-06-27 14:20
309 查看
最近解决这个问题:如何区分 使用的是手机还是平板?
网上找到如下的解决办法:
怎样通过程序 判断 用户使用的是手机还是平板电脑?
DisplayMetrics dm;
dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
// 得到屏幕的宽
int intScreenX = dm.widthPixels;
// 得到屏幕的高
int intScreenY = dm.heightPixels;
这个只能得到分辨率,像素的
像一些 手机 现在就有 960 *640 的了
7寸的平板 有些是 1024*600
而 后面新出来的像 HTC 的 手机,分辨率 已经上 1000 了
分辨率这条路走不通
查 系统版本 也走不通
平板有些还用的 2.3 的
三星手机的 4.0 的都马上出来了
需要的功能其实很简单,就是打开一个网页,如果是 手机,就打开 迷你的,比如 WAP
如果是 平板,估计就打开 WWW 的了
其实要的功能就纳闷简单,判断一下屏幕实际尺寸(英寸),7寸及以上(其实>6 就可以了,看个人)就认为是 平板了,就直接打开大网页了~~~
得到长宽,勾股定理 得到对角线,OK~~~
[java]
view plaincopy
DisplayMetrics dm;
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// 得到屏幕的宽(像素)
int screenX = dm.widthPixels;
// 得到屏幕的高(像素)
int screenY = dm.heightPixels;
// 每英寸的像素点
int dpi = dm.densityDpi;
// 得到屏幕的宽(英寸)
float a = screenX / dpi;
// 得到屏幕的高(英寸)
float b = screenY / dpi;
// 勾股定理
double screenIn = Math.sqrt((a * a) + (b * b));
通过测量身边的几个设备得出以下参数:
华为mediapad x=800 y=1216 dpi=213 a=3 b=5 screenIn=5.8
小米1s x=480 y=850 dpi=240 a=2 b=3 screenIn=3.6
小米2 x=720 y=1280 dpi=320 a=2 b=4 screenIn=4.47
摩托罗拉MZ606 x=800 y=1232 dpi=160 a=5 b=7 screenIn=8.6
我觉得screenIn 大于等于5就是平板了 应该可以了
有机会拿三星平板测试
转自:http://blog.csdn.net/penglijiang/article/details/8479861
网上找到如下的解决办法:
怎样通过程序 判断 用户使用的是手机还是平板电脑?
DisplayMetrics dm;
dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
// 得到屏幕的宽
int intScreenX = dm.widthPixels;
// 得到屏幕的高
int intScreenY = dm.heightPixels;
这个只能得到分辨率,像素的
像一些 手机 现在就有 960 *640 的了
7寸的平板 有些是 1024*600
而 后面新出来的像 HTC 的 手机,分辨率 已经上 1000 了
分辨率这条路走不通
查 系统版本 也走不通
平板有些还用的 2.3 的
三星手机的 4.0 的都马上出来了
需要的功能其实很简单,就是打开一个网页,如果是 手机,就打开 迷你的,比如 WAP
如果是 平板,估计就打开 WWW 的了
其实要的功能就纳闷简单,判断一下屏幕实际尺寸(英寸),7寸及以上(其实>6 就可以了,看个人)就认为是 平板了,就直接打开大网页了~~~
得到长宽,勾股定理 得到对角线,OK~~~
[java]
view plaincopy
DisplayMetrics dm;
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// 得到屏幕的宽(像素)
int screenX = dm.widthPixels;
// 得到屏幕的高(像素)
int screenY = dm.heightPixels;
// 每英寸的像素点
int dpi = dm.densityDpi;
// 得到屏幕的宽(英寸)
float a = screenX / dpi;
// 得到屏幕的高(英寸)
float b = screenY / dpi;
// 勾股定理
double screenIn = Math.sqrt((a * a) + (b * b));
通过测量身边的几个设备得出以下参数:
华为mediapad x=800 y=1216 dpi=213 a=3 b=5 screenIn=5.8
小米1s x=480 y=850 dpi=240 a=2 b=3 screenIn=3.6
小米2 x=720 y=1280 dpi=320 a=2 b=4 screenIn=4.47
摩托罗拉MZ606 x=800 y=1232 dpi=160 a=5 b=7 screenIn=8.6
我觉得screenIn 大于等于5就是平板了 应该可以了
有机会拿三星平板测试
转自:http://blog.csdn.net/penglijiang/article/details/8479861
相关文章推荐
- 如何区分 使用的是手机还是平板?
- 如何区分 使用的是手机还是平板? 续
- 使用UAParser在C#MVC项目中如何判断用户是在用什么设备进行访问(手机,平板还是普通的电脑)
- 如何判断Android设备是手机还是平板?
- Unity如何区分安卓、苹果设备是手机与平板?
- 如何正确使用和维护手机平板和笔记本电池
- 如何判断Android设备是手机还是平板?
- 关于如何区分Android手机是32位还是64位
- Unity如何区分安卓、苹果设备是手机与平板?
- 判断用户使用的是 Android 手机还是平板
- Android中如何判断是手机还是平板
- 如何判断Android设备是手机还是平板?
- 如何区分android中页面使用原生还是html5?
- 判断用户使用的是 Android 手机还是平板
- Android中如何判断是手机还是平板
- Android 使用Socket实现服务器与手机客户端的长连接七:定义消息体,区分是响应还是回复信息
- 如何判断Android设备是手机还是平板?
- 如何判断设备是平板还是手机
- 使用 Nginx 内置 $http_user_agent 来区分( 电脑 pc、手机 mobile、平板 pad )端的内容访问
- Android 使用Socket实现服务器与手机客户端的长连接七:定义消息体,区分是响应还是回复信息