2016-09-13 84 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