Android蓝牙 - 确定配对设备是否“打开”

时间:2011-02-15 19:13:30

标签: android bluetooth

我想确定配对设备当前是否处于活动状态。我真的不需要连接它,只是确定它是否有心跳。

我在尝试连接蓝牙插座时遇到了一系列IO错误,但我不确定是否真的需要。

2 个答案:

答案 0 :(得分:2)

假设您使用的是Android 如果您有此设备的BluetoothDevice对象,您可以注册以侦听广播操作 - ACL_CONNECTED或ACL_DISCONNECTED并跟踪连接状态。

答案 1 :(得分:0)

如果您想了解BT-Headset目前是否正在连接(音频路由到它),请执行以下操作:

声明以下intent-filter

        <intent-filter >
            <action android:name="android.bluetooth.headset.action.AUDIO_STATE_CHANGED" />
        </intent-filter>

并在接收者的onReceive中检查:

if ("android.bluetooth.headset.action.AUDIO_STATE_CHANGED".equals(intent.getAction())) {
  headsetAudioState = intent.getIntExtra("android.bluetooth.headset.extra.AUDIO_STATE", -2);
}

并将int保存为静态变量。如果您想知道BT音频是否已连接(1)/断开连接(0),请随时访问它。不漂亮,但完成工作。

同时退房: https://github.com/android/platform_frameworks_base/blob/gingerbread/core/java/android/bluetooth/BluetoothHeadset.java