我想创建一个基于Android蓝牙操作的应用程序。我正在使用以下代码:
BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();
适配器返回了null值,这意味着安卓模拟器没有蓝牙功能。我正在使用2.1版本的安卓最新版。谁知道如何从安卓模拟器使用蓝牙,请帮帮我。
我想创建一个基于Android蓝牙操作的应用程序。我正在使用以下代码:
BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();
适配器返回了null值,这意味着安卓模拟器没有蓝牙功能。我正在使用2.1版本的安卓最新版。谁知道如何从安卓模拟器使用蓝牙,请帮帮我。
很抱歉,你不能这样做。正如SDK文档和其他几个地方所提到的那样,模拟器不支持蓝牙。
而且你已经发现了这一点:"适配器返回空值,这意味着Android模拟器没有蓝牙功能。"
adb connect <IP of VM>
然后,在Eclipse中通过在Debug/Run配置中设置“手动”部署目标来启动您的项目。蓝牙在这个虚拟机中至少在我的Macbook上可以工作,并且据报道还可以与其他几个蓝牙芯片组一起工作。
我正在计划一款工具,能够在Linux下模拟蓝牙通过TCP/IP进行通信(将在GPL下免费发布)。
当没有真正的蓝牙设备时(例如想要模拟两台模拟的Android-x86或Linux机器之间的连接),这应该是解决方案。
也许当编译为Linux-ARM而不是Linux-x86时,它也可以在模拟器中运行。
问:我的设备蓝牙不工作,我该如何调试?
答:第一步是阅读日志(adb logcat
)!特别注意有关蓝牙的 ERROR 或 WARNING 级别消息。
Andoird 使用 Bluez,它带有一些非常有用的调试工具。以下是一些示例,按照我调试 BT 的大致顺序。
hciconfig -a # print BT chipset address and features. Useful to
# check if you can communicate with your BT chipset.
hcidump -XVt # print live HCI UART traffic.
hcitool scan # scan for local devices. Useful to check if RX/TX works.
l2ping ADDRESS # ping another BT device. Useful to check if RX/TX works.
sdptool records ADDRESS # request the SDP records of another BT device.
您可以从http://www.android-videos.blogspot.com/安装蓝牙插件。安装完成后,您就可以在模拟器中使用蓝牙了。
是的,我同意,目前模拟器不支持蓝牙。
要编译启用蓝牙支持的Android,请将以下行添加到BoardConfig.mk
中。
BOARD_HAVE_BLUETOOTH := true
模拟器不支持蓝牙,正如SDK文档中所述。您必须在真实设备上检查此功能。
如果出现“Bluetooth binder is null”错误,则表示模拟器没有蓝牙功能。