对于Android,Request.Browser.IsMobileDevice = false,为什么?

时间:2011-12-01 11:29:51

标签: c# android asp.net-mvc

我有三星galaxy s2,在C#代码中它显示Request.Browser.IsMobileDevice = false,但我想在我的应用程序中使用移动版本。如何能够为Android设备显示我的网站的移动版本?

非常感谢你。

塞吉。

4 个答案:

答案 0 :(得分:3)

您可以查看User-Agent HTTP标头。

user-agent是一个标识符,通常包含浏览器名称和版本,以及运行浏览器的平台或操作系统的名称和版本。目前的标准是将其拆分为以空格分隔的元素,但实际上User-Agent字段可以设置为任何内容。

示例:

Mozilla/5.0 Windows NT 6.1 WOW64 rv 8.0 Gecko/20100101 Firefox/8.0

这表明我在64位版本的Windows NT 6.1 Release(Windows 7)上运行Firefox 8.0(使用Mozilla渲染器v5.0和Gecko布局引擎版本2010/01/01)。 / p>

您可以从此处获取有关用户代理字符串的更多信息:http://www.useragentstring.com/

答案 1 :(得分:2)

使用NuGet中的51Degrees.mobi进行单击安装,零配置将解决此问题。

答案 2 :(得分:2)

您可以在App_Browsers中使用正则表达式创建一个文件以识别浏览器,以下是在Android中的Firefox:

<browsers>
    <!--Mozilla/5.0 (Android 5.0; Mobile; rv:44.0) Gecko/44.0 Firefox/44.0-->
    <browser id="FirefoxMobile" parentID="firefox3plus">
        <identification>
            <userAgent match="Mozilla.+\(Android.+Mobile.*\)" />
        </identification>
        <capabilities>
            <capability name="isMobileDevice" value="true" />
        </capabilities>
    </browser>
</browsers>

答案 3 :(得分:0)

检查设备是否为Android设备非常有用。

有一个帖子包含以下代码: http://dbarrowstechblog.blogspot.hk/2011/02/requestbrowserismobiledevice.html