我需要在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。