Android Developers Bluetooth Tutorial


Topics:

  1. Introduction to Bluetooth
  2. Android Bluetooth API - Interfaces & Classes
  3. Bluetooth Permissions
  4. Examples: Working with Bluetooth:
    • How to check Bluetooth is turned on or off on device?
    • How to turn Bluetooth on or off using Java code?
  5. Common errors while working with Bluetooth:
    • RuntimeException: Unable to start activity Need BLUETOOTH permission
    • SecurityException: Need BLUETOOTH ADMIN permissicacheNameAndAddresson

1. Introduction to Bluetooth

Bluetooth is a wireless technology that is used for transferring data between devices such as desktops, mobile phones over short distances using UHF radio waves from 2.402 GHz to 2.480 GHz. All Android devices support Bluetooth. Android developers can make use of Android Bluetooth APIs provided by the Application Framework.

Some day-to-day use cases of Android Bluetooth,

  • Connect wireless earphones, headphones and earpods to take handfree calls or list to music.
  • Stream music on Bluetooth Spreakers.
  • Connect with Smart TVs.
  • Transfer data (images, videos, music, files) between phones or desktops/laptops.

You can use Bluetooth APIs to perform the below,

  • To transfer data to between devices
  • To scan other Bluetooth devices around.
  • To connect to other devices using service discovery.
  • To query the local Bluetooth adapter for paired Bluetooth devices.
  • In order to manage multiple connections.

2. Android Bluetooth API - Interfaces & Classes

Interfaces:
  • BluetoothProfile
    android.bluetooth.BluetoothProfile
    This interface is used for notifying BluetoothProfile IPC clients when they have been connected or disconnected to the service.
  • BluetoothAdapter.LeScanCallback
    android.bluetooth.BluetoothAdapter.LeScanCallback
    Callback interface used to deliver LE scan results.
  • BluetoothProfile.ServiceListener
    android.bluetooth.BluetoothProfile.ServiceListener
    This Interface is used to notifying BluetoothProfile IPC clients when they have been connected or disconnected to the service.
Classes:
  • BluetoothAdapter: Represents the local device Bluetooth adapter.
  • BluetoothA2dp: This class provides the public APIs to control the Bluetooth A2DP profile.
  • BluetoothAssignedNumbers: Bluetooth Assigned Numbers.
  • BluetoothServerSocket: A listening Bluetooth socket.
  • BluetoothSocket: A connected or connecting Bluetooth socket.
  • BluetoothClass: Represents a Bluetooth class, which describes general characteristics of the device.
  • BluetoothClass.Device: Defines all device class constants.
  • BluetoothClass.Device.Major: Defines all major device class constants.
  • BluetoothClass.Service: Defines all service class constants.
  • BluetoothDevice: Represents a remote Bluetooth device.
  • BluetoothHeadset: Public API for controlling the Bluetooth Headset Service.
  • BluetoothHearingAid: This class provides the public APIs to control the Hearing Aid profile. Also check BluetoothHealthAppConfiguration
  • BluetoothManager: High level manager used to obtain an instance of an BluetoothAdapter and to conduct overall Bluetooth Management.

3. Bluetooth Permissions

Android Bluetooth Permissions
Android Bluetooth Permissions

There are 3 user/system permissions that are related to Bluetooth that you should be aware of,

  1. android.permission.BLUETOOTH: This permission allows applications to connect to paired bluetooth devices.This permission was added in API 1.
  2. android.permission.BLUETOOTH_ADMIN: This permission allows applications to discover and pair bluetooth devices. This permission was added in API 1.
  3. android.permission.BLUETOOTH_PRIVILEGED: This permission allows applications to pair bluetooth devices without user interaction, it also allow or disallow phonebook access or message access. Note: This permission is not for use by third-party applications. It was added in API level 19

4. Examples: Working with Bluetooth:

  • How to check Bluetooth is turned on or off on device?

    Tutorial Link
  • How to turn Bluetooth on or off using Java code?

    Tutorial Link

5. Common errors while working with Bluetooth:

  • RuntimeException: Unable to start activity Need BLUETOOTH permission

  • How to check Bluetooth is turned on or off on device?

    Link
  • SecurityException: Need BLUETOOTH ADMIN permissicacheNameAndAddresson

  • How to check Bluetooth is turned on or off on device?

    Link
Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap