我正在使用java开发一个桌面应用程序来向周围的设备发送文件。 已经完成但是我遇到了问题,当发送操作尝试开始时,移动设备中会出现配对消息。我的应用程序使用bluecove库.Bluecove在其网站上有一个示例应用程序,通过蓝牙发送文件,发送时不需要配对files.download从这里http://www.bluecove.org/bluecove-examples/obex-install/push.jnlp
这是我的代码,它将文件发送到蓝牙设备:
Connection connection = Connector.open(btConnectionURL);
// connection obtained
// now, let's create a session and a headerset objects
ClientSession cs = (ClientSession) connection;
HeaderSet hsConnectReply = cs.connect(null);
if (hsConnectReply.getResponseCode() != ResponseCodes.OBEX_HTTP_OK) {
System.out.println("Error while connecting device");
return;
}
HeaderSet hs = cs.createHeaderSet();
hs.setHeader(HeaderSet.NAME, filename);
hs.setHeader(HeaderSet.TYPE,
new MimetypesFileTypeMap().getContentType(new File(filen)));
hs.setHeader(HeaderSet.LENGTH, new Long(file.length));
Operation putOperation = cs.put(hs);
OutputStream outputStream = putOperation.openOutputStream();
outputStream.write(file);
// file push complete
outputStream.close();
putOperation.close();
cs.disconnect(null);
connection.close();
我的案例中的网址是:btgoep:// 001FDF08DEEC:9; authenticate = false; encrypt = false; master = false
我想知道我的应用和bluecove示例应用之间有什么区别。 提前完成。
答案 0 :(得分:2)
基于this,您可以在.net中执行自动身份验证。
根据我在bluecove的经验,您需要覆盖RemoteDevice.authenticate()函数并为服务器提供硬编码的密码,并使客户端可以输入该号码进行身份验证! 使用这种方法,您可以进行配对,但无需在服务器端手动输入!