1

我有一个在启动时启动的 Android 服务,我想使用蓝牙从外部设备获取事件。我编写了一个示例活动,该活动使用 spp 通过蓝牙连接到设备,一切正常。我现在想将此代码集成到服务中。使用服务(而不是活动)从蓝牙 spp 获取数据的最佳做法是什么?它将如何影响电池寿命?谢谢!

4

1 回答 1

0

您的蓝牙代码应该与服务和活动大致相同。您让它在活动中工作的事实意味着您已经将所有阻塞操作移出主线程。使用常规服务(与 IntentService 相比)可能最容易,因为它更类似于 Activity。

关于最佳实践,您可能希望在与外部设备通信期间保持 CPU 唤醒锁定 - 以确保通信完成 - 这当然对电池有影响,但这对我来说似乎是合理和必要的。除此之外,它应该与在活动中执行它没有太大不同。如果您没有在启动时启动它会更加电池友好,但我想这取决于您的要求。

(请注意,SPP 是 Android 上蓝牙通信的正常模式,因此您可以查看蓝牙聊天示例以获取适用代码 - 但听起来您可能已经超出了那个阶段。)

于 2013-10-13T15:42:58.040 回答