首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检测一般的Android平板电脑。用户代理?

如何检测一般的Android平板电脑。用户代理?
EN

Stack Overflow用户
提问于 2011-03-17 23:56:39
回答 10查看 160.6K关注 0票数 106

我到处都找过了。我们正在使用摩托罗拉的Zoom来尝试我们的平板网站测试。问题是Android Useragent是一个通用的Useragent,在平板Android和移动Android之间没有区别。我不想只针对像Xoom Useragent这样的特定设备,因为Android在不久的将来很可能会安装在多个平板设备上。

我们正在使用Umbraco,我们已经考虑过使用51Degrees.mobi解决方案,目前这不能满足我们的需求。也许在未来。我知道51Degrees和Umbraco的一些人将会在Umbraco中做一些集成,但是最终的项目可能在几个月内不会出来。

因此,为什么我们想要检测Android平板电脑的Useragent字符串,并让它不像现在那样直接指向我们的移动站点。

如果有人知道如何检测和Android平板电脑的一般,没有具体的设备将是非常有帮助的。

EN

回答 10

Stack Overflow用户

发布于 2011-12-31 12:34:22

您可以试用这个脚本,因为您不想只针对Xoom。我没有Xoom,但应该可以工作。

代码语言:javascript
复制
function mobile_detect(mobile,tablet,mobile_redirect,tablet_redirect,debug) {
var ismobile = (/iphone|ipod|android|blackberry|opera|mini|windows\sce|palm|smartphone|iemobile/i.test(navigator.userAgent.toLowerCase()));
var istablet = (/ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(navigator.userAgent.toLowerCase()));

if (debug == true) {
    alert(navigator.userAgent);
}

if (ismobile && mobile==true) {
    if (debug == true) {
        alert("Mobile Browser");
    }
    window.location = mobile_redirect;
} else if (istablet && tablet==true) {
    if (debug == true) {
        alert("Tablet Browser");
    }
    window.location = tablet_redirect;
}
}

我在github上创建了一个项目。看看- https://github.com/codefuze/js-mobile-tablet-redirect。如果有任何问题,请随时提交问题!

票数 8
EN

Stack Overflow用户

发布于 2012-03-29 23:51:31

一旦我在用户代理中检测到Android,这就是我区分平板电脑和智能手机浏览器的方式(这是使用Python,但对于其他编程语言也同样简单):

代码语言:javascript
复制
if ("Android" in agent):
  if ("Mobile" in agent):
    deviceType = "Phone"
  else:
    deviceType = "Tablet"

更新:根据下面的评论,反映Chrome在Android上的使用情况。

票数 6
EN

Stack Overflow用户

发布于 2012-04-11 22:54:54

下面是我使用的代码:

代码语言:javascript
复制
public static boolean onTablet()
    {
    int intScreenSize = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;

    return (intScreenSize == Configuration.SCREENLAYOUT_SIZE_LARGE) // LARGE
    || (intScreenSize == Configuration.SCREENLAYOUT_SIZE_LARGE + 1); // Configuration.SCREENLAYOUT_SIZE_XLARGE
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5341637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档