如何在Java中通过蓝牙向手机发送短信?

时间:2009-12-17 15:34:08

标签: java bluetooth

this question相似。我的任务是使用Java开发一个应用程序,只使用蓝牙,从我的WinXP PC向附近的手机发送消息字符串。

我找到了一个可以使用的免费Java蓝牙库(Bluecove),但似乎它可能不支持Windows下的OBEX,因为我读到这是执行此任务所必需的。

有没有人用Java证明这一点? 您使用了什么堆栈和蓝牙库?

2 个答案:

答案 0 :(得分:0)

如果您只发送字符串,Sun似乎并不认为OBEX是必要的。来自开发者网站(http://developers.sun.com/mobility/apis/articles/bluetoothintro/index.html):

  

JABWT还包括Object   Exchange API。 OBEX是一个高级别的   用于交换的API和协议   电子商务等对象   传送的卡片和日历项目   在vCard和vCalendar格式中。上   蓝牙,对象交换发生   RFCOMM。

如果您只发送字符串,则可能需要降低一级并查看RFCOMM协议。维基百科有这样的说法:

  

RFCOMM。有时被称为连续   端口仿真。蓝牙系列   端口配置文件基于此   协议

     

RFCOMM。提供简单可靠   数据流给用户,类似于   TCP。它被很多人直接使用   电话相关的配置文件作为   AT命令的载体,以及   作为OBEX的传输层   蓝牙。

所以听起来像通过RFCOMM发送数据就像使用TCP流一样。除非你需要支持比字符串更复杂的结构,否则我认为它应该适合你的需要。

进一步阅读告诉我,RFCOMM以下的级别是L2CAP:

  

L2CAP和RFCOMM通过支持   L2CAPConnection和StreamConnection   类型分别。而   L2CAPConnection引入了   JSR 82,StreamConnection已定义   作为原件的一部分   javax.microedition.io那是GCF   发展到依赖CLDC。注意   JABWT L2CAPConnection仅支持   面向连接的L2CAP连接。

StreamConnection听起来也很有希望发送字符串。我会检查两者的API,看看哪一个听起来最像你想要做的。

答案 1 :(得分:0)

Bluecove网站上的found this,用于演示通过蓝牙向手机发送字符串消息。