在Android手机和运行OS X的笔记本电脑之间通过蓝牙发送数据

时间:2015-11-26 05:59:43

标签: java android servlets android-bluetooth bluecove

制作一个可以通过蓝牙发送数据的应用程序似乎是一项相对平凡的任务,但过去几天我一直在敲打这个问题所以我正在寻找任何想法。我正在运行OS X 10.10并使用Nexus 5 Android设备。这是我到目前为止所尝试的内容:

我需要在笔记本电脑上运行服务器程序,我需要在手机上运行客户端Android应用程序。但是,(如果我错了,请纠正我)我的计算机上运行的服务器程序需要能够访问Android蓝牙API,因为我需要使用BluetoothServerSocket(基于Google的Android蓝牙{{提供的服务器端代码} 3}})。

由于它是服务器端代码,我需要在服务器上运行它,所以我构建了一个Java Servlet,它是从Eclipse内部运行的,但我不知道如何从动态Web应用程序中访问Android API。 / p>

所以我开始采用这种方法,Bluecove库使这成为可能:tutorial

我尝试让Bluecove与OS X合作,但是涉及到很多问题。我找到了一些解决方法,然后处理了Apple在其后续操作系统版本中删除的IOBluetoothLocalDeviceReadSupportedFeatures设备的错误(但Bluecove依赖它)。

我找到了一个修复http://luugiathuy.com/2011/02/android-java-bluetooth/,它安装了旧的IOBluetooth库并更改了DYLD_LIBRARY_PATH以指向它。不幸的是,这没有任何效果(我不知道我是否正确更改了库路径...我在here帖子的答案中遵循了解决方案1中的说明。)

无论如何,我觉得我过于复杂化这项任务,并且正在寻找任何指导 - 从总体方法或我错过的具体事情来看。主要问题是访问旨在在我的笔记本电脑上运行的服务器程序中的Android蓝牙API。

1 个答案:

答案 0 :(得分:0)

我最终最终使用WiFi发送数据,因为有更好的软件支持。

但如果有人想要追求蓝牙路径,一种可能性就是将OS X Lion(拥有IOBluetooth库)作为VM运行,并在VM上运行服务器端的Bluecove代码。这需要连接一个单独的蓝牙USB加密狗,因为虚拟机无法访问其主机的蓝牙硬件 - 可能有一种方法,但默认情况下它无法访问内置的蓝牙硬件。

不是一个理想的解决方案,但我不知道在Bluecove发布最新操作系统版本支持的版本之前是否有很多选择。