如何获取有关 Android 版 CONNECTED 蓝牙设备的信息?

发布于 2024-11-30 17:16:08 字数 190 浏览 1 评论 0原文

如果我有一部已连接蓝牙耳机(已配对并连接)的 Android 手机。 我如何获取有关该特定耳机的信息。

使用 getBondedDevices() 方法我获取所有配对设备的列表。我只需要有关已连接设备的信息。

我迫不及待地等待广播接收器检查状态,因为我在应用程序开始时需要此信息。所以请建议有什么方法可以在不等待广播的情况下获取这些信息。

If I have a Android phone which is already connected with a bluetooth headset (paired and connected) to it.
How I can get information about that specific headset.

Using getBondedDevices() method I get list of all paired devices..I need information about CONNECTED device only.

I can not wait for broadcast receiver to check status, because I need this information at the start of my application. So please suggest is there any way to get this information without waiting for broadcast.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一曲琵琶半遮面シ 2024-12-07 17:16:08

您可以通过 API 11 及更高版本中的 IBluetoothA2dp 接口来执行此操作。有关此处的更多信息: Android 连接到配对的蓝牙耳机

这是一个很好的资源,可以了解 API 10 和 11 之间此接口可用的内容的差异,其中变化很大。
http://grepcode.com/file_/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/bluetooth/BluetoothA2dp.java/?v=diff&id2= 2.2_r1.1

希望有帮助。

You can do this through the IBluetoothA2dp interface in API 11 and up. Some more info on there is here: Android connect to a paired bluetooth headset

Here is a great resource to see the difference in what is available to this interface between API 10 and 11 where it changed quite a bit.
http://grepcode.com/file_/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/bluetooth/BluetoothA2dp.java/?v=diff&id2=2.2_r1.1

Hope that helps.

说谎友 2024-12-07 17:16:08

您可以使用 getConnectedDevices 作为耳机配置文件获取与其连接的设备。

You can use the getConnectedDevices for the HEADSET Profile to get the device to which it is connected.

小瓶盖 2024-12-07 17:16:08

检查一下耳机是否已连接(仅限 ICS):

    public boolean isVoiceConnected()
    {
        boolean retval = true;
        try {
            retval = BluetoothAdapter.getDefaultAdapter().getProfileConnectionState(android.bluetooth.BluetoothProfile.HEADSET) != android.bluetooth.BluetoothProfile.STATE_DISCONNECTED;

        } catch (Exception exc) {
            // nothing to do
        }
        return retval;
    }

Check this out to see if headset is connected (ICS only):

    public boolean isVoiceConnected()
    {
        boolean retval = true;
        try {
            retval = BluetoothAdapter.getDefaultAdapter().getProfileConnectionState(android.bluetooth.BluetoothProfile.HEADSET) != android.bluetooth.BluetoothProfile.STATE_DISCONNECTED;

        } catch (Exception exc) {
            // nothing to do
        }
        return retval;
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文