2011-07-26 53 views
1

我正在嘗試編寫一個涉及通過藍牙連接兩個Android設備的應用程序。Android。連接藍牙設備

我的理解是,一臺設備充當服務器,偵聽傳入連接,而另一臺充當客戶端,並使用服務器的MAC地址初始化連接。

考慮以下幾點:

我有我的Android手機在我的口袋裏,我開始在我的Android平板電腦工作。我想將平板電腦連接到手機(通過藍牙),而無需將手機從口袋中取出(我不想拉出手機並手動開始監聽傳入連接)。

什麼是實現這個目標的好方法?看起來我必須把手機變成服務器,不斷地全天候地監聽連接。然而,我的直覺告訴我們,這將劇烈地耗盡電池。

有什麼建議嗎?

回答

1

你是對的,你可以讓你的手機(或平板電腦)成爲服務器。但它不應該使用那麼多電池;一旦你建立了服務器套接字並啓動連接,代碼將簡單地阻塞並等待傳入​​的連接。根據我的經驗,我沒有發現這太耗電了(但我沒有硬性數字來支持它)。

如果有與服務器有關的用戶界面,您需要將服務器套接字拆分爲單獨的線程,以便不阻止用戶界面事件。

1

通常情況下,手機的行爲就是這樣 - 即等待來自配對設備的傳入連接。等待/掃描傳入連接的功耗低於嘗試查找或連接到輪詢模式下的設備。許多藍牙芯片都具有低功耗掃描功能,可實現省電掃描。