如何在Android api级别19中以编程方式查找蓝牙mac地址

时间:2014-05-14 10:23:31

标签: android bluetooth android-4.4-kitkat

我需要在android中找到蓝牙mac地址。代码

BluetoothAdapter.getDefaultAdapter().getAddress();

它适用于18级及以下的api。

如何使用api level 19找到相同的内容。?

"要获得代表本地蓝牙适配器的BluetoothAdapter,在JELLY_BEAN_MR1及以下版本上运行时,请调用静态getDefaultAdapter()方法;当在JELLY_BEAN_MR2及更高版本上运行时,使用BLUETOOTH_SERVICE"通过getSystemService(String)检索它。来自http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html

我收到以下错误:

bluetooth binder is null

同时

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

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

在模拟器和genymotion模拟器上用于api level 19,kitkat

帮助!

1 个答案:

答案 0 :(得分:1)

据我所知,默认情况下,标准模拟器和genymotion都不支持蓝牙(有传言称genymotion支持蓝牙)。您可以在基于VirtualBox的模拟器which is described here上启用蓝牙,但我没有尝试过。

从静态方法BluetoothAdapter.getDefaultAdapter()检索BluetoothAdapter对所有平台都是正确的。可以从API 18获得BluetoothManager。