当前位置: 首页 > 知识库问答 >
问题:

如何通过编程区分android中连接的蓝牙设备?

江宏放
2023-03-14

它是蓝牙耳机还是手机?

如何在android代码中区分蓝牙耳机和支持蓝牙的android设备。

我正在开发一个小应用程序,我有一个功能,阻止通过蓝牙数据传输,但它需要允许通过蓝牙耳机通信。

>

  • 我引用了示例和代码,因为它们建议我仅配对/取消配对蓝牙设备。Android:如何以编程方式配对蓝牙设备?

                             or else
    

    获取所有连接的设备。在Android中,如何获取已连接蓝牙设备的配置文件

    我是否可以在设备中获得与设备连接类型相关的任何广播消息?

    请帮助我区分连接的蓝牙设备为耳机 /android设备(手机)等,

    提前谢谢你。

  • 共有1个答案

    东郭和光
    2023-03-14

    扫描并找到蓝牙设备后,调用方法。getBluetoothClass()。这将返回BluetoothClass对象,文档说明如下:

    表示一个蓝牙类,它描述了设备的一般特性和功能。例如,蓝牙类将指定电话、计算机或耳机等一般设备类型,以及它是否能够提供音频或电话等服务。

    因此,在允许用户选择要连接的设备或筛选所示的Bluetooth设备列表之前,请尝试查看BluetoothClass是否具有正确的设备类型。

    BluetoothClass bluetoothClass = bluetoothDevice.getBluetoothClass();
    if(bluetoothClass.getDeviceClass() == BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES) {
        // allow user to select this device. I'm not sure exactly which type
        // headphones will be but this is a good guess. You can connect to
        // your Bluetooth headset to find out for sure.
    }
    

    如果您想进一步按设备类进行区分,可以在此处找到不同的设备类常数。

     类似资料:
    • 我正试图通过蓝牙将数据从一台设备传输到另一台设备。 我之前曾尝试在android网站上运行bluetoothChat示例代码,但没有成功。 现在,我继续研究我发现的这段代码,虽然它在我的设备上编译,但它们之间没有连接。 有人看到下面的代码有什么问题吗?如果有人知道android上蓝牙的一些好资源,如果他们能与我分享,我将不胜感激!

    • 我如何获得Android所有已连接蓝牙设备的列表,而不考虑配置文件? 或者,我看到您可以通过BluetoothManager获取特定配置文件的所有连接设备。获取连接的设备。 我想我可以通过ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED监听连接/断开来查看哪些设备连接...似乎容易出错。 但我想知道是否有更简单的方法来获取所有已连接蓝牙设备的列表。

    • 我正在尝试通过蓝牙连接两台Android设备(已经配对),并在其中一台设备上自动访问互联网。 这可以通过在设置中访问并启用以下复选框来实现: 你知道我怎么用程序来做这个吗? 谢谢。

    • 我有一个隐藏的蓝牙设备,但我知道它的蓝牙MAC地址。 如何使用Android连接到该设备?

    • 我能够配对蓝牙键盘,但无法连接,使其成为输入设备。我查阅了开发商网站上提供的文件-http://developer.android.com/guide/topics/connectivity/bluetooth.html#Profiles 它说Android Bluetooth API提供了以下蓝牙配置文件的实现,但您可以实现接口BluetoothProfile来编写自己的类来支持特定的蓝牙配置文

    • 我正在尝试制作一个应用程序,它使用Android的新蓝牙低能耗API。为此,我从API Level18附带的BLE示例开始。 当我读到Android不能充当外围设备时,我将Android手机置于中央模式,扫描周围的BLE设备。为此,我用一个模拟心脏传感器的北欧平台做了一些测试。一切都以完美的方式运作! 多谢了。 编辑:经过一些艰苦的测试,我在AOSP页面上提出了一个问题。这里可以查