如果我想在Android或IOS中开发自己的iBeacon服务,它必须是实用的。这意味着客户可以在不缺电的情况下使用我的服务。
我认为即使iBeacon技术基于蓝牙低功耗,它仍然可能缺乏电池。那是因为必须运行应用程序才能一直扫描iBeacon设备。
据我所知,iOS有自己的电池问题解决方案。当IOS应用程序检测到iBeacon设备时,它在后台运行,IOS(不是应用程序)自己扫描特定的UUID,而不是附近的所有UUID。这就是他们节约能源的方式。我是对的吗?
但是在Android的情况下,没有提供任何电池问题的解决方案。更重要的是, 当Android应用程序检测到iBeacon设备时,它会扫描附近的所有UUID并处理所有内容,而不是Android操作系统。这是对的吗?
在我开始开发自己的服务之前,我担心这个电池问题。 电池好吗? 分享有什么好的解决方案吗?你们怎么解决这个问题?答案 0 :(得分:3)
Pro version of the Android iBeacon Library附带slows down scans when the app is in the background to save battery自动省电模式。开源Android iBeacon Library还允许配置前台和后台蓝牙扫描速率,并提供调用以在应用程序位于前台和后台时告知库的方法。
在iOS上,省电策略类似。当前景中没有iBeacons应用程序时,不会不断执行蓝牙扫描。背景扫描的确切频率未发布,但在带有iOS 7.1的iPhone 4S上发布I have measured it happening once every 15 minutes。
扫描特定UUID对电池寿命没有影响。在操作系统级别,蓝牙LE扫描会查找正在通告的任何蓝牙LE设备,无论它是iBeacon还是具有特定的UUID。特定UUID的过滤器在更高级别的软件中处理。