HTC Hero 的蓝牙问题
我编写了一个 Android 应用程序,使用蓝牙从外部传感器获取数据。它在索尼爱立信 XPERIA 上运行良好,但在 HTC Hero 上运行不佳(它找到外部设备,但无法从中获取任何数据)我想知道为什么。经过网上的一些研究,我仍然没有找到任何线索。 有人在 HTC 上遇到过类似的蓝牙问题吗?
I've written an android application getting data from external sensors using Bluetooth. It's working fine on Sony Ericsson XPERIA but not on a HTC Hero (it finds external devices but it can't get any data from them) I'm wondering why. After some research on the net, I still haven't found any clue.
Anyone had similar bluetooth issues on HTC?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做:
Just do it。
you can make it like this:
Just do it.
如果我没记错的话,HTC 手机在某个 API 级别(可能是 2.1 及以下?)有问题。解决办法就是反思。
参考
在 Android 中断开蓝牙套接字
在 Android 上使用蓝牙服务发现失败异常
解决方案
不要使用
use
在使用特定 API 级别的某些 HTC 手机上,
来获取您的 BluetoothSocket。 解决方案扩展
我最近有一个应用程序,我必须考虑这个问题,而且我不喜欢在非 HTC 手机上使用它,所以我有一个条件来检查 HTC,如果为真则使用反射,否则不要。
isAnHTCDevice():
If I remember correctly the HTC phones had or [have] an issue at a certain API level (maybe 2.1 and below?). The resolution is reflection.
Reference
Disconnect a bluetooth socket in Android
Service discovery failed exception using Bluetooth on Android
Solution
Instead of using
use
to get your BluetoothSocket on certain HTC phones using a certain API level.
Solution Expanded
I recently had an application where I had to account for this, and I did not like using this on non-HTC phones, so I had a conditional to check for HTC, if true then use reflection, otherwise dont.
isAnHTCDevice():
你可以这样做:
mSocket.connect();
去做就对了。
you can make it like this:
mSocket.connect();
Just do it.