2011-07-26 55 views
1

我正在尝试编写一个涉及通过蓝牙连接两个Android设备的应用程序。Android。连接蓝牙设备

我的理解是,一台设备充当服务器,侦听传入连接,而另一台充当客户端,并使用服务器的MAC地址初始化连接。

考虑以下几点:

我有我的Android手机在我的口袋里,我开始在我的Android平板电脑工作。我想将平板电脑连接到手机(通过蓝牙),而无需将手机从口袋中取出(我不想拉出手机并手动开始监听传入连接)。

什么是实现这个目标的好方法?看起来我必须把手机变成服务器,不断地全天候地监听连接。然而,我的直觉告诉我们,这将剧烈地耗尽电池。

有什么建议吗?

回答

1

你是对的,你可以让你的手机(或平板电脑)成为服务器。但它不应该使用那么多电池;一旦你建立了服务器套接字并启动连接,代码将简单地阻塞并等待传入​​的连接。根据我的经验,我没有发现这太耗电了(但我没有硬性数字来支持它)。

如果有与服务器有关的用户界面,您需要将服务器套接字拆分为单独的线程,以便不阻止用户界面事件。

1

通常情况下,手机的行为就是这样 - 即等待来自配对设备的传入连接。等待/扫描传入连接的功耗低于尝试查找或连接到轮询模式下的设备。许多蓝牙芯片都具有低功耗扫描功能,可实现省电扫描。