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

标签 android bluetooth android-4.4-kitkat

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

BluetoothAdapter.getDefaultAdapter().getAddress();

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

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

“要获取代表本地蓝牙适配器的 BluetoothAdapter,在 JELLY_BEAN_MR1 及以下版本上运行时,调用静态 getDefaultAdapter() 方法;在 JELLY_BEAN_MR2 及更高版本上运行时,通过 getSystemService(String) 和 BLUETOOTH_SERVICE 检索它”来自 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(); 

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

帮助!

最佳答案

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

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

关于android - 如何在 Android api 级别 19 中以编程方式查找蓝牙 mac 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23651934/

相关文章:

由于 gps 权限拒绝,android 应用程序在 android 4.4 上崩溃

android - 宏达一机 : DropBoxManagerService goes haywire after upgrade to KitKat 4. 4.2

android - 为 Android KitKat 准备 SMS 应用

android - getTargetFragment 返回 Null

android - 通过蓝牙流复制后损坏的音频文件

java - 我试图通过蓝牙发送数据,但 Serial.available() 总是返回 0

iphone - 如何判断与iPhone的连接方式是蓝牙还是WiFi?

android - Android 中 settext 上的 textview 不支持不同的语言字符串?

android - Android 中的 values-sw 资源问题

java - Thread.sleep导致android程序崩溃