Search packages, repositories and app categories

Package detailsv0.0.4

bluetooth_classic

A Flutter plugin to connect to Bluetooth Classic devices, mainly designed to work with serial communication.

Android
30-day downloads
1.1K
Likes
27
Pub points
145

Install package

flutter pub add bluetooth_classic

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter plugin enabling connection to Bluetooth Classic devices, primarily for serial communication. It provides a straightforward interface to discover, pair, and exchange data with Bluetooth Classic peripherals on Android. Designed for use in applications requiring reliable, low-level data transfer such as industrial sensors, medical devices, or custom hardware. The plugin integrates seamlessly with Android's Bluetooth APIs, offering a minimal abstraction layer for developers focused on device communication.

Use cases

  • Connecting to legacy Bluetooth devices
  • Transmitting serial data
  • Industrial sensor integration
  • Medical device communication
  • Custom hardware control

Key features

  • Android-only support
  • Serial communication focus
  • Device discovery and pairing
  • Low-level data transmission
  • Simple API for Bluetooth Classic

Suitable for

  • Android app developers
  • Hardware integrators
  • IoT projects with Bluetooth Classic
  • Serial protocol implementations

Considerations

  • Limited to Android platform
  • No iOS support
  • Requires Bluetooth permissions
  • Depends on device compatibility
  • Manual handling of connection states

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

bluetooth_classic

A Flutter plugin to connect to Bluetooth Classic devices, mainly designed to work with serial communication.

Pub Version (including pre-releases) Pub Popularity

Features

  • check that permissions are granted to use the device
  • get already paired devices
  • scan for devices
  • connect & disconnect to a device
  • read from connected device
  • write to connected device

Installation

To install the package, simply run flutter pub add bluetooth_classic

Api Documentation

For a list of functions and their definitions, you can look at the documentation on pub.dev

Basic example

Getting Paired Devices
import 'package:bluetooth_classic/bluetooth_classic.dart';

final _bluetoothClassicPlugin = BluetoothClassic();
await _bluetoothClassicPlugin.initPermissions();
List<Device> _discoveredDevices = await _bluetoothClassicPlugin.getPairedDevices();
Scanning for Devices
import 'package:bluetooth_classic/bluetooth_classic.dart';
import 'package:bluetooth_classic/models/device.dart';

final _bluetoothClassicPlugin = BluetoothClassic();
List<Device> _discoveredDevices = [];
await _bluetoothClassicPlugin.initPermissions();
_bluetoothClassicPlugin.onDeviceDiscovered().listen(
  (event) {
    _discoveredDevices = [..._discoveredDevices, event];
  },
);
await _bluetoothClassicPlugin.startScan();
// when you want to stop scanning
await _bluetoothClassicPlugin.stopScan();

Connecting to a device, reading and sending data to it
import 'package:bluetooth_classic/bluetooth_classic.dart';

final _bluetoothClassicPlugin = BluetoothClassic();
Uint8List _data = Uint8List(0);

await _bluetoothClassicPlugin.initPermissions();
// connect to a device with its MAC address and the application uuid you want to use (in this example, serial)
await _bluetoothClassicPlugin.connect("AA:AA:AA:AA", "00001101-0000-1000-8000-00805f9b34fb");

// NB: I'm not doing error checking or seeing if the device is still connected in this code, check the [example folder](/example/lib/main.dart) for a more thorough demonstration
// send data to device
await _bluetoothClassicPlugin.write("ping");

//
_bluetoothClassicPlugin.onDeviceDataReceived().listen((event) {
  setState(() {
    _data = Uint8List.fromList([..._data, ...event]);
  });
});

// disconnect when done
await _bluetoothClassicPlugin.disconnect();

Example Code

You can find the latest example code in the example folder

Categories

Dependencies

Dependency list 1 items

  • plugin_platform_interface^2.0.2

Source repository

Projects using this package

No data available yet.