From 40cb0bf111ba467909395bf4b56cfc39dd688cd6 Mon Sep 17 00:00:00 2001 From: "David G. Young" Date: Sun, 10 Feb 2019 13:47:19 -0500 Subject: [PATCH 1/2] Don't cal startForegroundService if we have already bound to the service. Doing so causes a crash. --- .../main/java/org/altbeacon/beacon/BeaconManager.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/src/main/java/org/altbeacon/beacon/BeaconManager.java b/lib/src/main/java/org/altbeacon/beacon/BeaconManager.java index cf351b248..2c1079397 100644 --- a/lib/src/main/java/org/altbeacon/beacon/BeaconManager.java +++ b/lib/src/main/java/org/altbeacon/beacon/BeaconManager.java @@ -429,8 +429,14 @@ public void bind(@NonNull BeaconConsumer consumer) { Intent intent = new Intent(consumer.getApplicationContext(), BeaconService.class); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && this.getForegroundServiceNotification() != null) { - LogManager.i(TAG, "Starting foreground beacon scanning service."); - mContext.startForegroundService(intent); + if (isAnyConsumerBound()) { + LogManager.i(TAG, "Not starting foreground beacon scanning" + + " service. A consumer is already bound, so it should be started"); + } + else { + LogManager.i(TAG, "Starting foreground beacon scanning service."); + mContext.startForegroundService(intent); + } } else { } From 6f1f703cca258e52b3d3d7cc2cfc19fb594d5030 Mon Sep 17 00:00:00 2001 From: "David G. Young" Date: Sun, 10 Feb 2019 14:02:33 -0500 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0118dd7e6..b19b653de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### Development + +- Fix crash on starting scanning with a forground service configured when multiple BeaconConsumer + instances bound. (#828, David G. Young) ### 2.16 / 2019-02-10