如何解决Android AltBeacon库中BLE背景扫描的间隔限制?
我一直在使用Android AltBeacon库。我一直注意到一个奇怪的现象,设备随机停止扫描,间隔为5秒或10秒。我有两个彼此相邻的设备A和B,这些设备都是使用AltBeacon库以iBeacon格式进行广告和扫描。
/**
* The default duration in milliseconds of the Bluetooth scan cycle
*/
public static final long DEFAULT_FOREGROUND_SCAN_PERIOD = 1100;
/**
* The default duration in milliseconds spent not scanning between each Bluetooth scan cycle
*/
public static final long DEFAULT_FOREGROUND_BETWEEN_SCAN_PERIOD = 0;
/**
* The default duration in milliseconds of the Bluetooth scan cycle when no ranging/monitoring clients are in the foreground
*/
public static final long DEFAULT_BACKGROUND_SCAN_PERIOD = 10000;
/**
* The default duration in milliseconds spent not scanning between each Bluetooth scan cycle when no ranging/monitoring clients are in the foreground
*/
public static final long DEFAULT_BACKGROUND_BETWEEN_SCAN_PERIOD = 5 * 60 * 1000;
这些是我在创建扫描仪时使用的参数。
因此,我很好奇为什么它会停止以不同的时间间隔进行检测。我认为这与广告无关,因为我让LocateBeacon应用程序在第三台设备上运行只是为了检查广告是否在其他两个设备中的任何一个上停止。
因此,此问题是由于Android OS限制或与AltBeacon库相关的问题所致。我到底该如何解决?由于这个问题,我得到了不必要的didExitRegion(..)
回调,弄乱了用例。
广告设备:Oppo Android版本:v8.1.0 PPS:2.2
扫描设备:OnePlus Android版本:v10
编辑
以下是我为我的发射功率和发射模式设置的值:
private int mAdvertiseMode = AdvertiseSettings.ADVERTISE_MODE_BALANCED;
private int mAdvertiseTxPowerLevel = AdvertiseSettings.ADVERTISE_TX_POWER_LOW;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。