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
Android 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
More Posts related to Android,
- Increase Android Emulator Timeout time
- Android : Remove ListView Separator/divider programmatically or using xml property
- Error : Invalid key hash.The key hash does not match any stored key hashes
- How to Change Android Toast Position?
- Android Alert Dialog with Checkboxes example
- Android : No Launcher activity found! Error
- Android Development: Spinners with Example
- Failed to sync Gradle project Error:failed to find target android-23
- INSTALL_FAILED_INSUFFICIENT_STORAGE Android Error
- Disable Fading Edges Scroll Effect Android Views
- How to create Toast messages in Android?
- Channel 50 SMSes received every few minutes Android Phones
- Android xml error Attribute is missing the Android namespace prefix [Solution]
- Create Custom Android AlertDialog
- How To Disable Landscape Mode in Android Application
- Android Development - How to switch between two Activities
- incorrect line ending: found carriage return (\r) without corresponding newline (\n)
- Generate Facebook Android SDK keyhash using java code
- Android Error Generating Final Archive - Debug Certificate Expired
- 21 Useful Android Emulator Short-cut Keyboard Keys
- Android RatingBar Example
- 11 Weeks of Android Online Sessions-15-Jun-to-28-Aug-2020
- Download interrupted: Unknown Host dl-ssl.google.com Error Android SDK Manager
- fill_parent vs match_parent vs wrap_content
- Android : Connection with adb was interrupted 0 attempts have been made to reconnect
More Posts:
- PowerShell ISE Alternative for Mac - Powershell
- TL;DR List of 34+ New Features added to iOS 17 for iPhones - iOS
- How to find Integer MAX and MIN Value in Java - Java
- [fix] Deprecated gradle features were used in this build, making it incompatible with Gradle X.0 - Gradle
- Online Regex Tester Tool - Tools
- How to highlight the current line in Notepad++ - NotepadPlusPlus
- Notepad++ Editor alternatives for macOS - NotepadPlusPlus
- Read file from Windows CMD (Command Line) - Windows