AltBeacon/android-beacon-library

TargetSdk 34 (android 14) Beacon foreground service no longer working due to new Google restriction

Closed this issue · 1 comments

After upgrading targetSdk from 33 to 34. App has began to crash. I checked logs and saw the error (below).

Expected behavior

When I start ranging beacons it should start ranging.

Actual behavior

When starting Beacon foreground service, app crashing. Log below

java.lang.RuntimeException: Unable to create service org.altbeacon.beacon.service.BeaconService: android.app.MissingForegroundServiceTypeException: Starting FGS without a type  callerApp=ProcessRecord{a4d7f35 2231:com.example.myapp/u0a672} targetSDK=34

Steps to reproduce this behavior

public void startRangingBeacons(String uuid) {
        beaconManager.addRangeNotifier(this);
        try {
            beaconManager.startRangingBeacons(new Region(uuid, null, null, null));
            NotificationManager notificationManager = (NotificationManager) applicationContext.getSystemService(Context.NOTIFICATION_SERVICE);
            notificationManager.notify(NOTIFICATION_ID, createNotification("Running"));
        } catch (Exception e) {
            onRangeListener.onRangeBeacons(new ArrayList<>(), e.getMessage());
        }
    }

Mobile device model and OS version

Google Pixel 6 Pro (android 14)

Android Beacon Library version

2.19

Here's docs about this issue:
https://developer.android.com/about/versions/14/changes/fgs-types-required

New version of this library resolved the issue.