Following the Github tutorial here. Testing app on Motorola E Android 4.4.4, API 19.
Code:
public class BeaconActivity extends Application {
private BeaconManager beaconManager;
@Override
public void onCreate() {
super.onCreate();
EstimoteSDK.initialize(this, "[name]", "[id]");
EstimoteSDK.enableDebugLogging(true);
beaconManager = new BeaconManager(getApplicationContext());
final BeaconRegion beaconsRegion = new BeaconRegion("All beacons", null, null, null);
beaconManager.setRangingListener(new BeaconManager.BeaconRangingListener() {
@Override
public void onBeaconsDiscovered(BeaconRegion region, List<Beacon> beacons) {
if (beacons.size() != 0) {
Log.d("Beacon", "BEACON DISCOVERED");
Beacon beacon = beacons.get(0);
}
}
});
beaconManager.setBackgroundScanPeriod(5000, 10000);
beaconManager.connect(new BeaconManager.ServiceReadyCallback() {
@Override
public void onServiceReady() {
Log.d("BeaconActivity", "Ready to start scanning for beacons");
beaconManager.startRanging(beaconsRegion);
}
});
}
}
Every time I try to run it, I get this error and the application crashes:
E/AndroidRuntime: FATAL EXCEPTION: BeaconServiceThread
java.lang.NoClassDefFoundError: android.bluetooth.le.ScanFilter$Builder
at com.estimote.coresdk.scanning.bluetooth.filters.BeaconRegionFilter.createBootloaderFilter(BeaconRegionFilter.java:61)
at com.estimote.coresdk.scanning.bluetooth.filters.BeaconRegionFilter.create(BeaconRegionFilter.java:45)
at com.estimote.coresdk.scanning.bluetooth.filters.FilterManagerImpl.createScanFiltersList(FilterManagerImpl.java:95)
at com.estimote.coresdk.observation.internal.module.ObservationModuleImpl.getHardwareFilters(ObservationModuleImpl.java:216)
at com.estimote.coresdk.service.EstimoteScanningStack.updateScanParams(EstimoteScanningStack.java:92)
at com.estimote.coresdk.service.EstimoteScanningStack.startRanging(EstimoteScanningStack.java:140)
at com.estimote.coresdk.service.BeaconService.startRanging(BeaconService.java:170)
at com.estimote.coresdk.service.BeaconServiceMessengerImpl$1.run(BeaconServiceMessengerImpl.java:110)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)
Any idea what could be going on here?