0% found this document useful (0 votes)
73 views8 pages

Android Bluetooth

The document discusses Bluetooth in Android. It describes how to use the Android Bluetooth API to scan for devices, connect to devices, and manage connections. It provides details on key Bluetooth classes and methods. It also includes an example Android app that demonstrates how to programmatically enable, disable, and make the device discoverable using Bluetooth.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views8 pages

Android Bluetooth

The document discusses Bluetooth in Android. It describes how to use the Android Bluetooth API to scan for devices, connect to devices, and manage connections. It provides details on key Bluetooth classes and methods. It also includes an example Android app that demonstrates how to programmatically enable, disable, and make the device discoverable using Bluetooth.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Android Bluetooth

Bluetooth is a way to exchange data with other devices wirelessly. Android provides Bluetooth
API to perform several tasks such as:

o scan bluetooth devices


o connect and transfer data from and to other devices
o manage multiple connections etc.

Android Bluetooth API


The android.bluetooth package provides a lot of interfaces classes to work with bluetooth
such as:

o BluetoothAdapter
o BluetoothDevice
o BluetoothSocket
o BluetoothServerSocket
o BluetoothClass
o BluetoothProfile
o BluetoothProfile.ServiceListener
o BluetoothHeadset
o BluetoothA2dp
o BluetoothHealth
o BluetoothHealthCallback
o BluetoothHealthAppConfiguration

BluetoothAdapter class
By the help of BluetoothAdapter class, we can perform fundamental tasks such as initiate
device discovery, query a list of paired (bonded) devices, create a BluetoothServerSocket
instance to listen for connection requests etc.
Constants of BluetoothAdapter class

BluetoothAdapter class provides many constants. Some of them are as follows:

o String ACTION_REQUEST_ENABLE
o String ACTION_REQUEST_DISCOVERABLE
o String ACTION_DISCOVERY_STARTED
o String ACTION_DISCOVERY_FINISHED

Methods of BluetoothAdapter class

Commonly used methods of BluetoothAdapter class are as follows:

o static synchronized BluetoothAdapter getDefaultAdapter() returns the instance of


BluetoothAdapter.
o boolean enable() enables the bluetooth adapter if it is disabled.
o boolean isEnabled() returns true if the bluetooth adapter is enabled.
o boolean disable() disables the bluetooth adapter if it is enabled.
o String getName() returns the name of the bluetooth adapter.
o boolean setName(String name) changes the bluetooth name.
o int getState() returns the current state of the local bluetooth adapter.
o Set<BluetoothDevice> getBondedDevices() returns a set of paired (bonded)
BluetoothDevice objects.
o boolean startDiscovery() starts the discovery process.

Android Bluetooth Example: enable, disable and make


discovrable bluetooth programmatically

activity_main.xml

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity" >

<TextView android:text=""

android:id="@+id/out"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</TextView>

<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:layout_marginLeft="30dp"

android:layout_marginTop="49dp"

android:text="TURN_ON" />

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/button1"

android:layout_below="@+id/button1"

android:layout_marginTop="27dp"

android:text="DISCOVERABLE" />

<Button
android:id="@+id/button3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/button2"

android:layout_below="@+id/button2"

android:layout_marginTop="28dp"

android:text="TURN_OFF" />

</RelativeLayout>

Provide Permission

You need to provide following permissions in AndroidManifest.xml file.

<uses-permission android:name="android.permission.BLUETOOTH" />


<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:androclass="http://schemas.android.com/apk/res/android"
package="com.example.bluetooth"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />

<uses-permission android:name="android.permission.BLUETOOTH" />


<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.bluetooth.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
</application>

</manifest>

MainActivity.java

package com.example.bluetooth;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.app.Activity;

import android.bluetooth.BluetoothAdapter;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.View;
import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity {

private static final int REQUEST_ENABLE_BT = 0;

private static final int REQUEST_DISCOVERABLE_BT = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final TextView out=(TextView)findViewById(R.id.out);

final Button button1 = (Button) findViewById(R.id.button1);

final Button button2 = (Button) findViewById(R.id.button2);

final Button button3 = (Button) findViewById(R.id.button3);

final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

if (mBluetoothAdapter == null) {

out.append("device not supported");

button1.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

if (!mBluetoothAdapter.isEnabled()) {

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);

});

button2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {

if (!mBluetoothAdapter.isDiscovering()) {

//out.append("MAKING YOUR DEVICE DISCOVERABLE");

Toast.makeText(getApplicationContext(), "MAKING YOUR DEVICE DISCOVERABLE",

Toast.LENGTH_LONG);

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);

startActivityForResult(enableBtIntent, REQUEST_DISCOVERABLE_BT);

});

button3.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View arg0) {

mBluetoothAdapter.disable();

//out.append("TURN_OFF BLUETOOTH");

Toast.makeText(getApplicationContext(), "TURNING_OFF BLUETOOTH", Toast.LENGTH_LONG);

});

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}
}

You might also like