我正在处理室内导航问题,并且看到锁定屏幕时信标扫描停止。我正在使用Android Beacon Library 2.15.1。发行说明中没有任何内容使我相信2.15.2将解决我的问题。
我已经做了一些搜索。我发现我需要在Android Beacon Library #529中将longScanForcingEnabled设置为true。所以在我的清单中,我包括了:
<service android:name="org.altbeacon.beacon.service.BeaconService"
tools:node="replace">
<meta-data android:name="longScanForcingEnabled" android:value="true"/>
</service>
我发现,在新版本的Android中,我还需要克服一些愚蠢的电池节省选项,如Android Beacon Library 642中所述,我需要将其限制为大约10分钟才能启用作为前台服务。
mBeaconManager = BeaconManager.getInstanceForApplication(mContext);
BeaconManager.setAndroidLScanningDisabled(false);
mBeaconManager.setForegroundBetweenScanPeriod(0);
mBeaconManager.setForegroundScanPeriod(1000); // 1 second interval for group of measurements
mBeaconManager.setBackgroundBetweenScanPeriod (mBeaconManager.getForegroundBetweenScanPeriod()); // // set background same as foreground
mBeaconManager.setBackgroundScanPeriod (mBeaconManager.getForegroundScanPeriod()); // set background same as foreground
mBeaconManager.enableForegroundServiceScanning(
buildNotification(mContext.getString(R.string.android_beacon_library_title), mContext.getString(R.string.android_beacon_library_message)),
R.id.beacon_service_id);
mBeaconManager.setEnableScheduledScanJobs(false);
enableForgroundServiceScanning确实使我超过了15分钟,但没有超过30分钟。
我看到这是在运行Android Pie的Pixel 2和运行Pie的Nokia 7.1 / androidone上发生的。
我找不到任何可以告诉我下一步的内容。我将不胜感激。
隐蔽峰值-同样在我的报告中,是确定何时蓝牙健康状况严重到需要重新启动(假设我无法阻止此问题)。 BluetoothMedic并不是完整的答案,因为我们一直支持API 18(实际上是14,但14-17不算在内)。