What is RxCentralBle?

RxCentralBle provides a simple reactive paradigm for connecting to and communicating with Bluetooth LE peripherals from the central role. It is ideal for all applications – in particular those that require multiple concurrent Bluetooth LE integrations.

RxCentralBle avoids many known Android pitfalls, including limitations in Android 7 & 8 around scanning operations, serial FIFO queueing for GATT, and others.

RxCentralBle powers Uber’s Bluetooth LE integrations on Android, including the next-generation Uber Beacon.

NEW! Uber Engineering Blog article detailing RxCentral cross-platform design (RxCBCentral for iOS coming soon!) and techniques for Android.

Key Features:

  • Reactive; subscribe to actions to trigger them, dispose to stop
  • Built-in operation queue; respects the serial nature of Android’s BluetoothGatt
  • Built-in GATT write segmentation; all writes are automatically chunked into MTU-sized segments
  • Interface-driven; customize the library with your own implementations
  • Manager-based; two managers for all connectivity and communication

Applicability:

RxCentralBle optimizes for the following use cases:

  • Where the ability to connect to and communicate with a Bluetooth 4.0+ LE peripheral is needed
  • Where the peripheral is Bluetooth 4.0+ LE compliant and acts per the specification
  • Where the peripheral does not require Bluetooth 4.0 specified authentication

Overview