我正在与蓝牙嵌入式设备连接,我想让它在Android手机触手可及时自动重新连接。到目前为止,它已经解决了几个问题。我还注意到,虽然电话在对套接字的accept()调用时被阻止,但它仍然会消耗相当多的电量。没有什么能比得上汽车扬声器电话似乎不会对电池造成太大影响。我想知道人们是否有任何技巧可以更加友好?
此外,目前接受适用于AcceptThread.run(如蓝牙聊天示例中),但不适用于服务。我应该把它移到一个吗?任何指向如何在服务中接受并将其移动到线程/活动的指针将不胜感激。
答案 0 :(得分:1)
无论是服务还是活动/应用程序,accept(AcceptThread)代码都将完全相同。是否应该将其移动到服务中取决于您是否需要它在应用程序关闭后继续运行。如果您不需要将其移动到服务中,那么请不要打扰,因为它会使您的应用程序的结构和生命周期变得更复杂。
我很惊讶你的观察,接受导致功耗增加。当您创建套接字并在其上调用accept时,Android会将您的UUID添加到可用蓝牙服务列表中 - 它不会将蓝牙无线电设备置于其他模式,那么为什么会导致功耗增加?