Reputation: 119
I want to check if bluetooth is enabled in a device using an Android application. I used the .isEnabled method. But there is an error. I found out (by commenting lines) that the error is in .isEnabled method. Can you pls help me to figure this out?
final BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String status = "Bluetooth";
if(bluetooth != null) {
if (bluetooth.isEnabled()) {
String mydeviceaddress = bluetooth.getAddress();
String mydevicename = bluetooth.getName();
status = ("Address "+ mydeviceaddress + " Name" + mydevicename);
Toast.makeText(getApplicationContext(), "" + status + "", Toast.LENGTH_LONG).show();
} else {
status = ("Bluetooth not enabled");
Toast.makeText(getApplicationContext(), "" + status + "", Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(getApplicationContext(), "" + status + "", Toast.LENGTH_LONG).show();
}
}
}
Upvotes: 6
Views: 10691
Reputation: 55517
This has worked best for me:
/**
* Check for Bluetooth.
*
* @return true if Bluetooth is available.
*/
public boolean isBluetoothAvailable() {
final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
return bluetoothAdapter != null
&& bluetoothAdapter.isEnabled()
&& bluetoothAdapter.getState() == BluetoothAdapter.STATE_ON;
}
Upvotes: 22
Reputation: 1273
Jared Burrows answer seems like the correct one, however I had to add one addition before it started working. I had to check the Bluetooth state.
public static boolean isBluetoothAvailable() {
final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
return (bluetoothAdapter != null &&
bluetoothAdapter.isEnabled() &&
bluetoothAdapter.getState() == BluetoothAdapter.STATE_ON);
}
Upvotes: 3
Reputation: 1
why not just:
...
return mBluetoothAdapter != null && mBluetoothAdapter.isEnabled();
Upvotes: 0
Reputation: 15702
Try this.
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
// Device does not support Bluetooth
} else {
if (!bluetoothAdapter.isEnabled()) {
// Bluetooth is not enabled
}
}
in your AndroidManifest.xml File
add
<uses-permission android:name="android.permission.BLUETOOTH" />
Upvotes: 6