Mobile 如何使用wurfl检测桌面浏览器与移动设备?

Mobile 如何使用wurfl检测桌面浏览器与移动设备?,mobile,wurfl,Mobile,Wurfl,我计划在web应用程序中使用Wurfl,以便区分移动设备和桌面浏览器。net.sourceforge.wurfl.core.utils中的isMobileBrowser(字符串用户代理)似乎是实现这一点的合适函数 尽管如此,通过查看1.0.1-rc3的源代码,我可以看到,如果用户代理字符串不包含“Tablet”字,它总是返回false。我正在阅读这篇文章,我想使用这里描述的模糊匹配来识别设备。可能是我使用了错误的功能吗?如果是这样的话,你能告诉我正确的方向吗 另外,您知道在哪里可以找到1.0.1

我计划在web应用程序中使用Wurfl,以便区分移动设备和桌面浏览器。net.sourceforge.wurfl.core.utils中的isMobileBrowser(字符串用户代理)似乎是实现这一点的合适函数

尽管如此,通过查看1.0.1-rc3的源代码,我可以看到,如果用户代理字符串不包含“Tablet”字,它总是返回false。我正在阅读这篇文章,我想使用这里描述的模糊匹配来识别设备。可能是我使用了错误的功能吗?如果是这样的话,你能告诉我正确的方向吗


另外,您知道在哪里可以找到1.0.1-rc4的源代码吗?

您必须使用这些功能:

if(is_wireless_device=false and device_claims_web_support=true) {
the request is from web browser
}

如果($device->getCapability('is\u wireless\u device')=='true') {//这是一个移动设备} 其他的 {//这是用于浏览器的}


这是我用来做我的移动设备与浏览器检测。。。目前可以无缝工作。

我们调整了wurfl.xml文件以检测桌面

<device id="generic_web_browser" user_agent="DO_NOT_MATCH_GENERIC_WEB_BROWSER" fall_back="generic">
    <group id="product_info">
      <capability name="has_qwerty_keyboard" value="true"/>
      <capability name="pointing_method" value="mouse"/>
       <capability name="device_os" value="**Desktop**"/> <!--Added desktop OS-->
      <capability name="model_name" value=""/>
      <capability name="can_skip_aligned_link_row" value="true"/>
      <capability name="device_claims_web_support" value="true"/>
      <capability name="is_wireless_device" value="false"/>
      <capability name="brand_name" value="generic web browser"/>
      <capability name="can_assign_phone_number" value="false"/>
      <capability name="release_date" value="1994_january"/>
    </group>


我们正在将WURFL与Liferay插件一起使用,这对我来说很好

从当前WURFL版本开始,有一个“is_tablet”参数。

如果我使用您建议的代码,我将需要如下内容:getDeviceForRequest(WURFLRequest请求);获取设备对象,然后获取并检查这两个功能。我试图在WurflAPI中找到一个高级方法。net.sourceforge.wurfl.core.utils中的函数isMobileBrowser(String userAgent)似乎是合适的,但检查了源代码后,我发现它没有达到我的预期。Sry,我已更改了答案。是的,你必须使用这些功能。你知道为什么会有方法isMobileBrowser(stringuseragent)吗?。您可以在这里找到javadoc:。我对这个方法有点困惑。Sry,但我不知道为什么,所以它是一个内部方法。通过谷歌搜索我发现msie使用Tablet PC:我在wml编程组问了同样的问题,我找到了我需要的所有答案:)。执行此操作时,Firefox会将if语句传递给ummm。。这就回答了如何解决这个问题??