如何使用pre 3.0 Android编写程序连接到a2dp蓝牙设备?

我的应用程序需要通过蓝牙连接到a2dp设备,我想“能够查询可见的蓝牙设备,然后选择a2dp设备并让它’通过a2dp连接’,以便音频开始通过连接的设备播放”但我的手机正在运行姜饼(2.3.3).

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

“从Android 3.0开始,蓝牙API支持使用蓝牙配置文件.” – &GT这是否意味着我是S.O.L.?有没有办法以编程方式(为什么*标记为编程错误?!)连接到使用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 – 通过adb获取蓝牙MAC地址


下一篇:Android:关闭/失去蓝牙连接或文件接收->做某事