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

BluetoothAdapter.getDefaultAdapter().getAddress();

它在api级别18及更低版本下正常工作。

如何在api级别19中找到相同的内容?

http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html中的“要在JELLY_BEAN_MR1及以下版本上运行时获取代表本地蓝牙适配器的BluetoothAdapter,请调用静态的getDefaultAdapter()方法;在JELLY_BEAN_MR2及更高版本上运行时,请使用带有BLUETOOTH_SERVICE的getSystemService(String)检索它”

我收到以下错误:
bluetooth binder is null


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


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

在API级别19,kitkat的模拟器和genymotion模拟器上

帮助!

最佳答案

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

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

10-06 05:51