Spring Mobile允许Spring MVC应用程序检测Web客户端是台式机/笔记本电脑,平板电脑还是移动设备。
是否可以使用Spring Mobile确定设备是否为Android / iOS?是否有扩展点,或者它是“自制”功能吗?
答案 0 :(得分:3)
Spring Mobile不包含内置支持来区分Android和iOS。但是,它包含两个接口Device
和DeviceResolver
。您可以实现这些检测Android和iOS设备的自定义版本,并提供其他方法,例如isAndroid()
或isIOS()
。然后,您可以配置DeviceResolverHandlerInterceptor
以使用DeviceResolver
实施。当您在Controller
中使用检测到的设备时,您只需将其投射到您的实施中即可。查看提供的LiteDevice
和LiteDeviceResolver
实施以获取灵感。
答案 1 :(得分:0)
我知道这张票已经很旧了,但是我只是想告诉你,使用较新版本的spring-mobile-device可能会发生。
在最新的1.1.5.RELEASE中,您可以轻松访问设备的DevicePlatform。参见https://github.com/spring-projects/spring-mobile/blob/1.1.5.RELEASE/spring-mobile-device/src/main/java/org/springframework/mobile/device/DevicePlatform.java
因此,如果您使用1.1.5.RELEASE,则可以轻松执行以下操作:
if (currentDevice.isNormal()) {
// do stuff for desktop devices
} elseif (currentDevice.getDevicePlattform() == DevicePlatform.IOS) {
// do iOS specific stuff
} else {
// treat as mobile device
}