2013-10-13 63 views
1

我有一個在啓動時啓動的Android服務,我想從使用藍牙的外部設備獲取事件。 我寫了一個示例活動,通過藍牙連接到設備使用spp和eveything工作正常。 我現在想要將這些代碼整合到服務中。 使用服務(而不是活動)從藍牙spp獲取數據的最佳做法是什麼? 它將如何影響電池壽命? 謝謝!從藍牙獲取數據的Android服務

+0

您好,您有你讀取藍牙設備的服務代碼? – NHTorres

回答

0

您的藍牙代碼應該與該活動的服務大致相同。事實上,你在一個活動中工作意味着你已經將所有阻塞操作從主線程移出。使用常規服務(vs IntentService)可能最容易,因爲它更類似於Activity。

關於最佳實踐,您可能希望在與外部設備通信的過程中保持CPU喚醒鎖 - 以確保通信完成 - 並且肯定會對電池產生影響,但這似乎是合理且必要的我。除此之外,在活動中做它應該沒有太大的不同。如果你沒有開機就會更加電池友好,但我想這取決於你的要求。

(請注意,SPP是Android上的藍牙通訊的正常模式,所以你可以看看適用的代碼藍牙聊天樣品 - 但它聽起來像是你可能超越這一階段。)

+0

非常感謝您的回答。 – roeiki11

+0

你可以給任何例子或參考? –