Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find bluetooth mac address programmatically in Android api level 19

I need to find bluetooth mac address in android. Below code

BluetoothAdapter.getDefaultAdapter().getAddress();

It works fine with api level 18 and below.

How to find the same with api level 19.?

"To get a BluetoothAdapter representing the local Bluetooth adapter, when running on JELLY_BEAN_MR1 and below, call the static getDefaultAdapter() method; when running on JELLY_BEAN_MR2 and higher, retrieve it through getSystemService(String) with BLUETOOTH_SERVICE" from http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html

I am getting the following error:

bluetooth binder is null

with both

BluetoothManager ba=(BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE);
bmac=ba.getAdapter().getAddress();

and

bmac=BluetoothAdapter.getDefaultAdapter().getAddress(); 

on emulator and genymotion emulator for api level 19,kitkat

Help!

like image 638
Reva Avatar asked Nov 11 '22 08:11

Reva


1 Answers

As far as I know, Bluetooth is not supported by default neither on standard emulator nor on genymotion(There were rumours that Bluetooth will be supported by genymotion). You can enable bluetooth on your VirtualBox-based emulator which is described here but I didn't try it.

Retrieving BluetoothAdapter from static method BluetoothAdapter.getDefaultAdapter() is correct for all Platforms. BluetoothManager is available from API 18.

like image 187
dawid gdanski Avatar answered Nov 15 '22 00:11

dawid gdanski