- 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?
- 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 & ClassesInterfaces:
This interface is used for notifying BluetoothProfile IPC clients when they have been connected or disconnected to the service.
Callback interface used to deliver LE scan results.
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 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
- ERROR x86 emulation currently requires hardware acceleration. Intel HAXM is not installed on this machine
- How to create Toast messages in Android?
- Java: Check Internet connection on Android Device (Wifi or Mobile)
- Change Title text for Android Activity using java code
- Android RatingBar Example
- Android : Execute some code after back button is pressed
- Audio Video Network protocols supported by Android OS Devices
- This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView) Lint Error
- Check Internet Connection WIFI 4G is active on Android Programmatically
- Change Height of Android ActionBar
- Generate Facebook Android SDK keyhash using java code
- How to hide or cancel Toast message in Android Programming
- Make Android Toolbar text center aligned
- How to Disable EditText Keyboard Android App
- How to repeat background image in Android Activity
- How to make Android EditText not editable
- [FIX] AndroidRuntime: FATAL EXCEPTION: main - java.lang.RuntimeException NullPointerException
- Android Eclipse This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in
- How to Add a horizontal line in Android Layout
- Android Disable back button programatically
- 21 Useful Android Emulator Short-cut Keyboard Keys
- Android xml error Attribute is missing the Android namespace prefix [Solution]
- Fixing Android unknown error 961 while downloading app
- Share Image and Text on Instagram from Android App using Share Dialog
- How to add border to Android Button
- Fix: This app is no longer shared with you error iPhone or iPad iOS - HowTos
- How to create Custom RatingBar Android Programming Tutorial - Android
- Split a String in Java with Examples - Java
- Create assets folder in Android Studio - Android-Studio
- JSON Schema and Hyper-Schema : JSON Tutorial - Json-Tutorial