2010-06-09 43 views
2

有人知道如何通過RFCOMM在android上接收文件嗎? 我是藍牙問題的新手,請耐心等待。在Android上通過RFCOMM接收文件

我正在尋找通過RFCOMM作爲流接收數據並將其存儲在手機某處的方法。保存數據不是問題,它工作得很好。

的主要問題是連接和數據的可靠的檢索的執行...

這整個過程應該被實現爲一個機器人服務(所以沒有活動有接收數據時的即將推出) 。你會建議什麼:本地或遠程服務?

格爾茨, poeschlorn

+0

嗨,你記得最多可以傳輸多少文件大小嗎?我嘗試了同樣的事情,發現無論我閱讀的速度有多快,接收文件中的某些字節都會丟失。 – Kozlov 2013-08-08 05:12:14

回答

2

一般來說:

  • 建立藍牙插座
  • 打開輸入和輸出流
  • (傳輸層),如果有必要協商轉讓,文件名,屬性
  • 開始傳輸數據字節並將其保存到文件

傳輸層是關鍵,也是棘手的部分。它可以像滾動你自己一樣簡單。例如:

發件人發送: [開始流] FILENAME | ATTRIBUTES | [二進制數據] [流結束]

Receiver會查看文件名和屬性,將其保存並打開輸出文件,並開始從屬性之後寫入到流末尾。

傳輸完成後,關閉輸入/輸出流,然後關閉套接字。

+0

嘿,謝謝你的回答,我知道我遲到了。該方案似乎與谷歌的示例藍牙聊天類似,在流中發送文件。你知道天氣這是SPP(串行端口配置文件)嗎? – poeschlorn 2010-06-22 09:15:14

+0

Right - SPP(又名RFCOMM)是Android支持的流類型,但RFCOMM爲您提供了兩個設備之間的二進制流,非常適合傳輸文件。 – 2010-07-02 12:03:02