1

我一直在开发一个应用程序来连接到扬声器底座,并通过蓝牙来回发送数据。在某些设备上,我的代码可以完美运行。其他设备它将在大约 80% 的时间内工作,而在第三组设备上它的工作时间为 50/50。

我很好奇我是否做错了什么,或者其他蓝牙开发人员是否有同样的问题?Dock 端的固件最初是为 iOS 编写的,但经过修改,如果从 Android 连接,则不必执行 iOS 授权。这可能是问题的一部分吗?

我基本上使用此处显示的模板蓝牙连接代码:http: //developer.android.com/guide/topics/connectivity/bluetooth.html#ConnectingAsAClient

唯一的区别是我为支持它的设备打开了一个不安全的套接字(基于 SDK 级别)。

所以我的问题是:是否有很多开发人员在努力通过 Android 上的蓝牙获得一致的客户端连接,或者只有我?

4

1 回答 1

2

是的,我发现蓝牙在 Android 上通常非常古怪,而且制造商之间的差异很大。

当某些事情没有按照您期望的方式工作时,您应该在花费大量时间试图弄清楚之前检查 b.android.com - 我遇到的许多问题已经记录在那里。我认为这对 Android 来说是一个很好的建议。

尽管人们喜欢对三星、LG 等公司进行抨击,但我实际上发现谷歌的 Nexus 设备是最糟糕的。好消息是 Google 为 AOSP 委托了一个全新的蓝牙堆栈,该堆栈随 4.2 一起发布。最初它比它取代的堆栈 (bluez) 更糟糕,但在 4.2.2 中大致可以使用,而且他们将钱花在新堆栈上的事实给了我一些希望。

于 2013-05-06T21:24:40.333 回答