能给我一张“票”吗;onCycleEnd“;Android SDK的事件

能给我一张“票”吗;onCycleEnd“;Android SDK的事件,android,ibeacon-android,altbeacon,Android,Ibeacon Android,Altbeacon,我正在应用程序中使用AltBeacon库,并且每隔几分钟运行一次扫描,无论是前台还是后台。我真的很想知道扫描何时完成,虽然,因为我也想偶尔扫描非LE蓝牙设备。我看到有一个名为“onCycleEnd”的事件,这似乎是我正在寻找的,但我不知道如何(或是否)在该事件触发时处理它 有什么办法可以做到吗?当循环结束时,DidRangeBeanConsincinRegion会启动。您应该能够在该回调上触发任何必要的逻辑 这看起来像是iOS SDK解决方案——在Android SDK中有没有类似的方法?我知道

我正在应用程序中使用AltBeacon库,并且每隔几分钟运行一次扫描,无论是前台还是后台。我真的很想知道扫描何时完成,虽然,因为我也想偶尔扫描非LE蓝牙设备。我看到有一个名为“onCycleEnd”的事件,这似乎是我正在寻找的,但我不知道如何(或是否)在该事件触发时处理它


有什么办法可以做到吗?

当循环结束时,
DidRangeBeanConsincinRegion
会启动。您应该能够在该回调上触发任何必要的逻辑

这看起来像是iOS SDK解决方案——在Android SDK中有没有类似的方法?我知道有一个名为“onCycleEnd”的活动,但它是BeaconService的成员(我想),我不认为我可以通过BeaconManager访问该活动。对不起,我刚刚意识到我之前的评论是错误的-DidRangeBeaConsincinRegion不是iOS SDK的东西,它也在Android SDK中。但是,这是否表明扫描已完成?换句话说,如果我尝试启动一个基于DidRangeBeanConsinRegion的BluetoothAdapter.startDiscovery(),适配器是否可以进行扫描?我想我只能试试看了——我会更新我的发现。我们可能在这里讨论过了。。。您当然可以随时调用
蓝牙适配器#startDiscovery()
,它将启动“经典”蓝牙扫描以查找非LE设备。我认为没有任何理由需要确保这不会与蓝牙LE扫描同时进行。但为了阐明Android Beacon库在前台的工作方式,一旦它停止一次LE扫描,就会立即开始下一次扫描。在后台,它在较旧的操作系统版本上的扫描之间暂停,并在较新的操作系统版本上保持一次长时间的低功耗扫描。有趣的是,我相信(可能被误导了)BT适配器不能同时用于classic和LE设备,但我会尝试一下,看看。不过,还有一个小问题——在较新的操作系统版本的“一次长时间低功耗扫描”中,我想,这将包括它找到的这类设备对非BeaconlesCanCallback的回调。如果这些设备在附近,我想这意味着它会不断地“发现”这些设备——这也是“低功耗”吗?这种装置的不断发现会影响电池寿命吗?好问题。低功耗扫描使用过滤器仅查找与用于查找信标的特定前缀匹配的广告,如果匹配,则退出低功耗扫描模式并返回正常扫描模式。如果在后台发生这种情况,则正常扫描间隔为每5分钟10秒。一句话:低功率can对非信标检测没有用处。