最新版本 (2.15.4) 的 Altbeacon 扫描周期要求
Altbeacon scan period requirements for latest version ( 2.15.4 )
我已经阅读了很多关于 foreground/background 扫描周期和 Android 7 上长扫描问题的信息,但我对在最新的 alt 中应该配置什么以获得最佳结果感到困惑-信标库(2.15.4)。
我们已经实现了前台服务和引导,并要求库执行以下操作:
应用在前台扫描 1100 毫秒,休眠 0 毫秒
应用程序在后台扫描 1100 毫秒,休眠 10000 毫秒
我们知道,由于 start/stop 扫描而未检测到信标时会出现一些边缘情况,但我们更愿意这样做,而不是应用程序扫描被 OS 杀死的可能性,因为时间长运行 次扫描。
满足上述要求应该使用什么setForeground...setBackground...值?或者我们不应该使用这些方法而只使用默认值吗?
这会导致 "Scanning to frequently" 问题吗?我们如何通过尽可能接近我们要求的设置来解决这个问题?
您描述的扫描速率将适用于大多数手机:
beaconManager.setForegroundScanPeriod(1100); // Default, so this line not needed
beaconManager.setForegroundBetweenScanPeriod(0); // Default, so this line not needed
beaconManager.setBackgroundScanPeriod(1100);
beaconManager.setBackgroundBetweenScanPeriod(10000);
BackgroundPowerSaver bps = new BackgroundPowerSaver();
但是,在 Android 8+ 上,操作系统会将扫描之间的时间限制为大约 15 分钟。如果您不能接受这一点,那么唯一的选择就是指示图书馆使用 foreground service。如果您确实配置了前台服务,那么即使在 Android 8+.
上,您也可以获得您想要的准确后台扫描速率
我说这适用于 "most phones",因为大型中国制造商(例如华为、OnePlus、小米)已从 2017 年底开始分叉其 Android 版本,以实现阻止信标的积极节能功能在后台扫描。专有分支要么在屏幕关闭时阻止扫描(华为参见 here and here) (Xiaomi see here) or block foreground services (OnePlus see here)。这些有效地破坏了 Android 应用程序在其操作系统分支上的正常工作。
我已经阅读了很多关于 foreground/background 扫描周期和 Android 7 上长扫描问题的信息,但我对在最新的 alt 中应该配置什么以获得最佳结果感到困惑-信标库(2.15.4)。
我们已经实现了前台服务和引导,并要求库执行以下操作:
应用在前台扫描 1100 毫秒,休眠 0 毫秒
应用程序在后台扫描 1100 毫秒,休眠 10000 毫秒
我们知道,由于 start/stop 扫描而未检测到信标时会出现一些边缘情况,但我们更愿意这样做,而不是应用程序扫描被 OS 杀死的可能性,因为时间长运行 次扫描。
满足上述要求应该使用什么setForeground...setBackground...值?或者我们不应该使用这些方法而只使用默认值吗?
这会导致 "Scanning to frequently" 问题吗?我们如何通过尽可能接近我们要求的设置来解决这个问题?
您描述的扫描速率将适用于大多数手机:
beaconManager.setForegroundScanPeriod(1100); // Default, so this line not needed
beaconManager.setForegroundBetweenScanPeriod(0); // Default, so this line not needed
beaconManager.setBackgroundScanPeriod(1100);
beaconManager.setBackgroundBetweenScanPeriod(10000);
BackgroundPowerSaver bps = new BackgroundPowerSaver();
但是,在 Android 8+ 上,操作系统会将扫描之间的时间限制为大约 15 分钟。如果您不能接受这一点,那么唯一的选择就是指示图书馆使用 foreground service。如果您确实配置了前台服务,那么即使在 Android 8+.
上,您也可以获得您想要的准确后台扫描速率我说这适用于 "most phones",因为大型中国制造商(例如华为、OnePlus、小米)已从 2017 年底开始分叉其 Android 版本,以实现阻止信标的积极节能功能在后台扫描。专有分支要么在屏幕关闭时阻止扫描(华为参见 here and here) (Xiaomi see here) or block foreground services (OnePlus see here)。这些有效地破坏了 Android 应用程序在其操作系统分支上的正常工作。