2012-09-28 58 views
3

我正在開發一個桌面應用程序使用Java發送文件到周圍的設備。 這樣做,但我有一個問題,當發送操作嘗試開始時,配對消息出現在移動設備中。我的應用程序使用bluecove庫.Bluecove在其網站上有一個示例應用程序,通過藍牙發送文件,不需要配對從這裏http://www.bluecove.org/bluecove-examples/obex-install/push.jnlp發送文件從PC到手機通過藍牙在Java中沒有配對

這裏發送files.download它是我的代碼,它發送文件到藍牙設備:

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;認證= FALSE; encrypt = false; master = false

我想知道我的ap p和bluecove示例應用程序。 Thanx提前。

回答

2

根據this您可以在.net中執行自動驗證!

根據我在bluecove上的經驗,您需要重寫RemoteDevice.authenticate()函數併爲服務器提供一個硬編碼的PIN號碼,並使該號碼可供客戶端輸入以進行身份​​驗證! 用這種方法你可以配對,但不需要在服務器端手動輸入!

相關問題