gpt4 book ai didi

android - 如何使用 3.0 之前的 Android 编写程序连接到 a2dp 蓝牙设备?

转载 作者:行者123 更新时间:2023-11-29 22:19:20 31 4
gpt4 key购买 nike

我的应用程序需要通过蓝牙连接到 a2dp 设备,我希望“能够查询可见的蓝牙设备,然后选择一个 a2dp 设备并让它‘通过 a2dp 连接’,以便音频开始通过已连接的设备”,但我的手机正在运行 Gingerbread (2.3.3)。

我在 http://developer.android.com/guide/topics/wireless/bluetooth.html 学习了基本的蓝牙教程到达我需要连接到蓝牙设备的部分,然后我阅读了页面底部:

“从 Android 3.0 开始,蓝牙 API 包括对使用蓝牙配置文件的支持。” -> 这是否意味着我是 S.O.L.?有没有办法以编程方式(为什么 stackoverflow 以编程方式标记为拼写错误?!)使用 3.0 之前版本的 Android 连接到 a2dp 设备?我唯一的选择是指示用户进入他们的设置/以编程方式调出设置吗?因为我可以通过设置来完成它,所以我想我只是假设它也可以通过我的应用程序来完成。

帮忙吗?

最佳答案

一些蓝牙类(配置文件如 BluetoothA2dp)隐藏在 Gingerbread 中。这意味着它们的声明由@hide 注释,并且它们不包含在SDK(Android.jar)中。这是有意为之的,因为这些 API 可能会在较新的 Android 版本中发生变化。通常使用隐藏的 API 不是一个好主意,因为您的应用程序可能会停止在较新的 Android 版本上运行,但如果您确定要这样做,请遵循 http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/

一旦您可以访问它们,请执行以下操作(只是一个提示):

BluetoothA2dp mBluetoothA2dp = new BluetoothA2dp(context);
BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().
// Loop through paired devices
for (BluetoothDevice device : mBluetoothAdapter.getBondedDevices()) {
if (device.getName().contains("whatyouwant")) {
mBluetoothA2dp.addSink(device);
}
}

关于android - 如何使用 3.0 之前的 Android 编写程序连接到 a2dp 蓝牙设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665703/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com