2

我有一个使用蓝牙 SPP (RFCOMM) 与硬件进行通信的应用程序。该应用程序和蓝牙连接工作得很好。问题是当另一个应用程序启动时,它也使用 SPP,然后其中一个应用程序停止。一旦任何一个应用程序停止,无论是通过退出应用程序还是使用任务杀手,手机都会减速到几乎停止。大多数时候我必须拉电池。

我在 Pandora 和我的应用程序中看到了这一点,它使用 SPP,可能作为其福特同步支持的一部分。我在 SPP 的示例应用程序中也看到了这一点。我使用哪些应用程序并不重要。使用 SPP 的任何两个应用程序都会导致此问题。

我在 ATT 上的 Android 2.1、HTC 设备上看到了这个。我在运行 2.2.1 库存的摩托罗拉 Droid 上没有看到这一点,但是我在使用自定义内核运行 2.2 和 LFY 1.95 ROM 时确实在同一部手机上看到了这一点。

如果有人需要查看它们,我有来自调试器的日志,但我没有看到任何指出问题的地方。一旦任一 SPP 应用程序停止,就会立即开始减速。我仍然收到日志,但没有任何迹象表明存在问题。在手机重新启动之前,减速不会停止。

4

1 回答 1

1

好的,我只是将这个问题归咎于 HTC。似乎运行 Android 2.1 的 HTC 设备有一个非常错误的蓝牙堆栈。HTC 的论坛上有很多关于蓝牙问题的投诉。

我无法通过在我的应用程序被推送到后台时关闭我的 SPP 连接然后在我的应用程序重新启动时重新启动 SPP 连接来解决这个问题。

我不想这样做,因为即使应用程序在后台,我的应用程序的未来版本也需要 SPP 连接。我只是希望 HTC 在我实施之前修复他们的错误软件。

如果有人有更多关于 HTC 有缺陷的蓝牙堆栈以及 HTC 设备无法处理超过 1 个 SPP 连接的信息,请发布。

于 2011-02-14T19:39:52.257 回答