All of the Bluetooth APIs are available in the
In order to use Bluetooth features in your application, you need to declare at least one of two Bluetooth permissions:
You must request the
You must request the
Declare the Bluetooth permission(s) in your application manifest file. For example:
Before your application can communicate over Bluetooth, you need to verify that Bluetooth is supported on the device, and if so, ensure that it is enabled.
If Bluetooth is not supported, then you should gracefully disable any Bluetooth features. If Bluetooth is supported, but disabled, then you can request that the user enable Bluetooth without leaving your application. This setup is accomplished in two steps, using the
android.bluetooth
package. Here's a summary of the classes and interfaces you will need to create Bluetooth connections:BluetoothAdapter
- Represents the local Bluetooth adapter (Bluetooth radio). The
BluetoothAdapter
is the entry-point for all Bluetooth interaction. Using this, you can discover other Bluetooth devices, query a list of bonded (paired) devices, instantiate aBluetoothDevice
using a known MAC address, and create aBluetoothServerSocket
to listen for communications from other devices. BluetoothDevice
- Represents a remote Bluetooth device. Use this to request a connection with a remote device through a
BluetoothSocket
or query information about the device such as its name, address, class, and bonding state. BluetoothSocket
- Represents the interface for a Bluetooth socket (similar to a TCP
Socket
). This is the connection point that allows an application to exchange data with another Bluetooth device via InputStream and OutputStream. BluetoothServerSocket
- Represents an open server socket that listens for incoming requests (similar to a TCP
ServerSocket
). In order to connect two Android devices, one device must open a server socket with this class. When a remote Bluetooth device makes a connection request to the this device, theBluetoothServerSocket
will return a connectedBluetoothSocket
when the connection is accepted. BluetoothClass
- Describes the general characteristics and capabilities of a Bluetooth device. This is a read-only set of properties that define the device's major and minor device classes and its services. However, this does not reliably describe all Bluetooth profiles and services supported by the device, but is useful as a hint to the device type.
BluetoothProfile
- An interface that represents a Bluetooth profile. A Bluetooth profile is a wireless interface specification for Bluetooth-based communication between devices. An example is the Hands-Free profile. For more discussion of profiles, see Working with Profiles
BluetoothHeadset
- Provides support for Bluetooth headsets to be used with mobile phones. This includes both Bluetooth Headset and Hands-Free (v1.5) profiles.
BluetoothA2dp
- Defines how high quality audio can be streamed from one device to another over a Bluetooth connection. "A2DP" stands for Advanced Audio Distribution Profile.
BluetoothHealth
- Represents a Health Device Profile proxy that controls the Bluetooth service.
BluetoothHealthCallback
- An abstract class that you use to implement
BluetoothHealth
callbacks. You must extend this class and implement the callback methods to receive updates about changes in the application’s registration state and Bluetooth channel state. BluetoothHealthAppConfiguration
- Represents an application configuration that the Bluetooth Health third-party application registers to communicate with a remote Bluetooth health device.
BluetoothProfile.ServiceListener
- An interface that notifies
BluetoothProfile
IPC clients when they have been connected to or disconnected from the service (that is, the internal service that runs a particular profile).
Bluetooth Permissions
In order to use Bluetooth features in your application, you need to declare at least one of two Bluetooth permissions:
BLUETOOTH
and BLUETOOTH_ADMIN
.You must request the
BLUETOOTH
permission in order to perform any Bluetooth communication, such as requesting a connection, accepting a connection, and transferring data.You must request the
BLUETOOTH_ADMIN
permission in order to initiate device discovery or manipulate Bluetooth settings. Most applications need this permission solely for the ability to discover local Bluetooth devices. The other abilities granted by this permission should not be used, unless the application is a "power manager" that will modify Bluetooth settings upon user request. Note: If you use BLUETOOTH_ADMIN
permission, then must also have the BLUETOOTH
permission.Declare the Bluetooth permission(s) in your application manifest file. For example:
<manifest ... > <uses-permission android:name="android.permission.BLUETOOTH" /> ... </manifest>See the <uses-permission> reference for more information about declaring application permissions.
Setting Up Bluetooth
Before your application can communicate over Bluetooth, you need to verify that Bluetooth is supported on the device, and if so, ensure that it is enabled.
If Bluetooth is not supported, then you should gracefully disable any Bluetooth features. If Bluetooth is supported, but disabled, then you can request that the user enable Bluetooth without leaving your application. This setup is accomplished in two steps, using the
BluetoothAdapter
.- Get the
BluetoothAdapter
TheBluetoothAdapter
is required for any and all Bluetooth activity. To get theBluetoothAdapter
, call the staticgetDefaultAdapter()
method. This returns aBluetoothAdapter
that represents the device's own Bluetooth adapter (the Bluetooth radio). There's one Bluetooth adapter for the entire system, and your application can interact with it using this object. IfgetDefaultAdapter()
returns null, then the device does not support Bluetooth and your story ends here. For example:
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) { // Device does not support Bluetooth }
- Enable Bluetooth Next, you need to ensure that Bluetooth is enabled. Call
isEnabled()
to check whether Bluetooth is currently enable. If this method returns false, then Bluetooth is disabled. To request that Bluetooth be enabled, callstartActivityForResult()
with theACTION_REQUEST_ENABLE
action Intent. This will issue a request to enable Bluetooth through the system settings (without stopping your application). For example:
if (!mBluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
0 coment�rios:
Post a Comment