2016-09-13 89 views
0

我創建了一個非常類似於this示例中的BluetoothManager的BluetoothManager。該對象在連接活動中實例化,通過點擊「連接」按鈕從主活動達到,該連接提供可選設備的ListView。迄今爲止效果很好。從各種活動中訪問Bluetooth「ConnectedThread」

我現在連接並且有一個BluetoothManager.ConnectedThread運行和流設置。我現在希望能夠在運行時從其他各種活動發送藍牙數據。例如,我將要繪製圖表活動運行時的實時值。

就我所知,從ConnectedThread中推出數據將通過Handler發生,這對我來說是一個新話題。我不清楚他的其他活動如何訪問ConnectedThread的write()函數。

回答

1

首先,即使一個單身人士可能是一個解決方案,因爲這些元素可以在您的用戶界面不運行時繼續運行。所以我的建議是創建一個粘性服務,然後你有兩個選擇:

  • 使用活動和Service之間的處理程序處理數據。也許如果你不太熟悉Handler API,這將需要一些時間給你。在this正式文檔的示例中,您還可以檢查如何使用處理程序。
  • 創建一個綁定的服務,您可以從這些活動綁定到該服務,並在需要時發送一些數據。 Here你有關於綁定服務的官方信息。

你可以看看this教程來獲得更多關於處理程序的信息。

+0

好的。我會看看服務並回復你。考慮到[Android開發人員示例](https://developer.android.com/guide/topics/connectivity/bluetooth.html)使用的內容非常相似,我認爲在這種情況下Service不是必需的。 – sje

+0

那麼這取決於你的需求,連接將持續多久,等等。但我認爲從我的經驗中處理這種方式會更容易。 – droidpl

+0

只想回來,並將其標記爲已回答。我花了一些時間學習服務,並使用命令模式實現了這個運行。謝謝。 – sje