Android应用程序在后台扫描iBeacons的服务非常不稳定

Android应用程序在后台扫描iBeacons的服务非常不稳定,android,bluetooth-lowenergy,ibeacon,ibeacon-android,estimote,Android,Bluetooth Lowenergy,Ibeacon,Ibeacon Android,Estimote,我正在进行iBeacons开发,我在wifi适配器方面遇到了一些问题。当iBeacon扫描运行时,wifi互联网不工作,因此当检测到iBeacon时,我无法从互联网请求信息。我试过了:Moto G、Moto X和Sony Xperia SP 另一个问题是,当扫描在Android后台运行时,我需要一直运行此扫描来检测新的iBeacons?这使得应用程序非常不稳定,可能是因为它使用了大量的电话进程和内存。有人有关于Android后台模式下iBeacons扫描的任何信息或案例吗 谢谢 有几个答案:

我正在进行iBeacons开发,我在wifi适配器方面遇到了一些问题。当iBeacon扫描运行时,wifi互联网不工作,因此当检测到iBeacon时,我无法从互联网请求信息。我试过了:Moto G、Moto X和Sony Xperia SP

另一个问题是,当扫描在Android后台运行时,我需要一直运行此扫描来检测新的iBeacons?这使得应用程序非常不稳定,可能是因为它使用了大量的电话进程和内存。有人有关于Android后台模式下iBeacons扫描的任何信息或案例吗

谢谢

有几个答案:

  • 一些Android设备结合了WiFi/Bluetooth芯片,无法在两个收音机都处于活动状态时正常工作。我从经验中知道,摩托G就是其中之一——其他车型可能也是如此。(同样的设备在与蓝牙扬声器配对时也不能使用Wifi!)在我开发的在后台进行蓝牙扫描的应用程序中,我检测这些设备并检测Wifi是否打开,然后警告用户在使用该应用程序以实现正确的蓝牙功能时应关闭Wifi

  • 在后台扫描的诀窍是保持过程的轻量级,并在扫描之间暂停以节省电池电量。在我的实现中,我扫描了几秒钟,然后暂停了五分钟,然后再次开始扫描,等等

我在Android的后台做了很多关于蓝牙扫描的工作。如果您遵循第二个技巧,电池电量消耗是可以容忍的,您应该没有稳定性问题(只要您的代码是稳定的)