Topics:
- Introduction to Bluetooth
- Android Bluetooth API - Interfaces & Classes
- Bluetooth Permissions
- 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?
- 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.
- 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
There are 3 user/system permissions that are related to Bluetooth that you should be aware of,
- android.permission.BLUETOOTH: This permission allows applications to connect to paired bluetooth devices.This permission was added in API 1.
- android.permission.BLUETOOTH_ADMIN: This permission allows applications to discover and pair bluetooth devices. This permission was added in API 1.
- 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 LinkHow 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?
LinkSecurityException: Need BLUETOOTH ADMIN permissicacheNameAndAddresson
How to check Bluetooth is turned on or off on device?
Link
- Android Error Unexpected cast to Button: layout tag was FrameLayout
- ADT quit unexpectedly error on Mac OSX Android Eclipse SDK
- Parsing Data for android-21 failed unsupported major.minor version 51.0
- Android Studio Ctrl Shift o auto import not working
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
- Android : How to make TextView Scrollable
- This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView) Lint Error
- Integrating Android Facebook SDK 3.17.2 Tutorial
- Android R Cannot Be Resolved To A Variable
- Android : Exception raised during rendering: action_bar API 22
- How to take screenshot on Android
- Read Text file from SD Card : Android Programming
- How to make Android EditText not editable
- Your Android SDK is out of date or is missing templates. Please ensure you are using SDK version 22 or later.
- The declared package does not match the expected package Eclipse
- Can't Run SDK Manager find_java.bat issue
- What is Android Toast.LENGTH_SHORT and Toast. LENGTH_LONG durations
- Android Emulator Soft Back button action using Computer keyboard
- Multiline EditText in Android Example
- Use 5G Network on Android Emulator
- Make Android TextView Clickable like Buttons
- How to empty trash in Android Device
- Android : Execute some code after back button is pressed
- Disable Fading Edges Scroll Effect Android Views
- How To Disable Landscape Mode in Android Application
- Spring Boot + Redis Cloud Configuration and Setup Tutorial - Java
- Emulator: Warning: restoring GLES1 context from snapshot. App may need reloading. - Android-Studio
- Identify MySQL version in MySQL Command Line Prompt - MySQL
- C#.Net error The underlying connection was closed: An unexpected error occurred on a send - SharePoint
- [Android Studio] Error: Missing system image on device - Android-Studio
- 5 Programming Languages to Learn in the Year 2021 - News
- Base 64 Index, Character and Binary Table - Html
- SharePoint Server 2016 error - Failed to connect to the configuration database - SharePoint