我正在开发iBeacons开发,我遇到了一些wifi适配器的问题。当iBeacon扫描正在运行时,无线网络无法正常工作,因此当检测到iBeacon时,我无法从互联网上请求信息。我确实尝试过:Moto G,Moto X和Sony Xperia SP。
另一个问题是当扫描在Android背景上运行时,我需要一直运行此扫描来检测新的iBeacons吗?这使得应用程序非常不稳定,可能是因为它使用了大量的手机进程和内存。有人在Android背景模式下有关于iBeacons Scan的任何信息或案例吗?
谢谢!
答案 0 :(得分:2)
几个答案:
有些Android设备将WiFi /蓝牙芯片组合在一起无法正常工作。我从经验中知道Moto G就是其中之一 - 它可能与其他人一样。 (相同的设备也不能与蓝牙扬声器配对使用Wifi!)在我开发的应用程序中进行蓝牙扫描的应用程序中,我检测到这些设备并检测WiFi是否打开,然后警告用户应该关闭WiFi当使用该应用程序正确的蓝牙功能时。
在后台扫描的技巧是保持流程轻量级并在扫描之间暂停以节省电池电量。在我的实现中,我已经扫描了几秒钟,然后暂停了五分钟,然后又开始扫描等等。
我在Android的后台完成了很多关于蓝牙扫描的工作。如果你遵循第二个提示,电池耗尽是可以容忍的,你应该没有稳定性问题(只要你的代码稳定。)