无法从Android 4.4.2连接到BLE设备

时间:2016-02-25 11:29:05

标签: android linux bluetooth bluetooth-lowenergy

我正在开发一个有两个应用程序的系统:第一个是Android上的应用程序,第二个是在Linux上运行的应用程序。他们必须通过BLE协议进行通信

在Linux上,我修改了Bluez 4.1(btgattserver.c)的代码。 Linux上的应用程序将广播BLE广告商包,并等待从Android连接。

在Android上,我使用此API连接到Linux应用程序:

public BluetoothGatt connectGatt (Context context, boolean autoConnect, BluetoothGattCallback callback)

我的问题是:在Android 5上,这些应用程序可以正常通信。但是在Android 4.4.2上,Android应用程序无法连接到Linux应用程序

我在Android上启用了“启用蓝牙HCI监听”选项,并在Android 5和Android 4.4.2上获得了HCI的日志文件进行比较。

我发现在Android 5.上,请求连接有PSM,这是SDP,但Android 4.4.2上的请求连接有PSM,这是ATT。 Android 4.4.2上的连接被Linux应用程序拒绝(请参阅附件中的图片) enter image description here 请告诉我为什么Android 4.4.2与PSM创建连接请求是ATT?以及如何解决这个问题?

因为我的英语不好,所以我很抱歉,如果我的问题让你很难理解。

谢谢你。

0 个答案:

没有答案