【发布时间】:2012-11-24 23:49:14
【问题描述】:
我已经阅读了许多关于获取蓝牙连接 RSSI 的可能性的 stackoverflow 帖子。似乎 Android 没有通过任何 API 直接公开这一点,唯一的希望就是直接使用 bluez API。
显然,一旦您与蓝牙设备建立连接,您就可以使用 hcitool 来获取 RSSI 或链接质量,例如:
hcitool rssi E8:06:88:2F:D1:4E
但是,每当我尝试使用 hcitool 执行此操作时,都会遇到分段错误:
130|shell@android:/system/bin # hcitool rssi E8:06:88:2F:D1:4E
RSSI return value: 0
[1] + Stopped (signal) hcitool rssi E8:06:88:2F:D1:4E
即使我尝试使用 hcitool 创建连接,而不是蓝牙适配器:
130|shell@android:/system/bin # hcitool cc E8:06:88:2F:D1:4E
Can't create connection: I/O error
我正在使用这个版本的 hcitool:http://code.google.com/p/androidobex/downloads/detail?name=hcitool
但是,它说它是“Android 开发手机版本”,我显然使用的是比 G1 更新的东西。但是,我找不到任何其他版本的 hcitool。
【问题讨论】:
-
为什么需要使用 hcitool,而不是
BluetoothDevice.EXTRA_RSSI机制,如下所述:groups.google.com/forum/?fromgroups=#!topic/android-developers/… -
不允许您获取连接的 RSSI 值,它只允许您从扫描中获取处于可发现模式的设备的 RSSI。