关于用nexus 4 开发BLE应用过程,有时候会出现连接蓝牙设备时连不上,除非在设置里把蓝牙关调再重新打开蓝牙,然后再连设备才能连接,这是什么问题? androidBLEANDROID 4.3nexus 4android 4.3 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充:调用 discoverServices:这个方法,没有任何的回调,服务和特征值都没有回调了。 有时候也出现在设置上关蓝牙关不掉,这个时候手机是必须重启才可以再连接了。 我也出现过在调用这个方法后,能进回调,但是会报status 129(GATT内部错误) 链接时会出现配对提示框当选择配对会回调onConnectionStateChange链接成功并开始发现服务,但30秒后会出现onServicesDiscovered received: 129,然后再次出现配对提示框,一直都连不上,除非重启蓝牙设置,才能重新链接设备 补充:点击配对按钮时会进入链接成功回调方法@Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { String intentAction; if (newState == BluetoothProfile.STATE_CONNECTED) { intentAction = ACTION_GATT_CONNECTED; mConnectionState = STATE_CONNECTED; broadcastUpdate(intentAction); Log.i(TAG, "Connected to GATT server."); // Attempts to discover services after successful connection. Log.i(TAG, "Attempting to start service discovery:" + mBluetoothGatt.discoverServices()); } else if (newState == BluetoothProfile.STATE_DISCONNECTED) { intentAction = ACTION_GATT_DISCONNECTED; mConnectionState = STATE_DISCONNECTED; Log.i(TAG, "Disconnected from GATT server."); broadcastUpdate(intentAction); } }30秒后会回调发现服务,特征回调方法 返回状态为129@Override public void onServicesDiscovered(BluetoothGatt gatt, int status) { if (status == BluetoothGatt.GATT_SUCCESS) { broadcastUpdate(ACTION_GATT_SERVICES_DISCOVERED); } else { Log.w(TAG, "onServicesDiscovered received: " + status); } } 我一旦调用了discoverServices,立马就返回129,不用30秒我用Nexus 4/Note 2(CM10.2)看来是Android 4.3的蓝芽堆栈问题。 129就是没发现服务,这步没完成 下面的当然也。。额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢! 129就是没发现服务,这步没完成 下面的当然也。。额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!了解,我之前一个项目是用nexus 4测试的,后来换了小米2S 刷的4.3,问题解决了。当时初步定位到是设备的问题,现在在做的这个项目 问题又出现了 129.也是很困惑,有问题多交流下吧 我也遇到一样的问题,还没有找到问题的原因所在。最近在翻ANDROID的代码,还没有啥收获 我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你if(mBluetoothLeService.disconStatus==129){ mBluetoothLeService.close(); Log.d(TAG,"----129----"); mBluetoothAdapter.disable(); try { Thread.sleep(2500); } catch (InterruptedException e) { e.printStackTrace(); } mBluetoothAdapter.enable(); } 我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你if(mBluetoothLeService.disconStatus==129){ mBluetoothLeService.close(); Log.d(TAG,"----129----"); mBluetoothAdapter.disable(); try {Thread.sleep(2500);} catch (InterruptedException e) {e.printStackTrace();} mBluetoothAdapter.enable(); } 为什么我查找不到设备,不管是nexus4查找galaxy nexus还是galaxy nexus查找nexus都是找不到的,用的蓝牙4.0的查找方法 129就是没发现服务,这步没完成 下面的当然也。。额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!了解,我之前一个项目是用nexus 4测试的,后来换了小米2S 刷的4.3,问题解决了。当时初步定位到是设备的问题,现在在做的这个项目 问题又出现了 129.也是很困惑,有问题多交流下吧刷机就解决了???我的是4.4.2版本。 大神们遇到过这样的问题吗?手机和设备连接,连接有个过程。需要等2到4秒这时候断开蓝牙,再用手机连接设备。会出现所有手机连不上设备(android 4.4.0以下版本)。 我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你if(mBluetoothLeService.disconStatus==129){ mBluetoothLeService.close(); Log.d(TAG,"----129----"); mBluetoothAdapter.disable(); try {Thread.sleep(2500);} catch (InterruptedException e) {e.printStackTrace();} mBluetoothAdapter.enable(); }哪里来的BluetoothLeService.ACTION_GATT_DISCONNECTED这个广播? 我现在调用 device.connectGatt(this, false, mGattCallback) 都没提示配对。。 急急急……怎么判断一个Activity是不是在运行中??? 求android入门教程 请问如何将.net开发的网站迁移部署到android平台上,并在android平台浏览阅读 寻找Android系统手机截屏完美解决方案 新手问个问题 android 4.2获取不到手机信号强度 怎么实现类似android的ListView功能? Android42 远端蓝牙语音话筒大致怎么实现 Android RadioButton中如何去掉前面的选中的圆圈 android中使用sqlite的问题 图片显示在屏幕上太大 repo更新android的问题
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
String intentAction;
if (newState == BluetoothProfile.STATE_CONNECTED) {
intentAction = ACTION_GATT_CONNECTED;
mConnectionState = STATE_CONNECTED;
broadcastUpdate(intentAction);
Log.i(TAG, "Connected to GATT server.");
// Attempts to discover services after successful connection.
Log.i(TAG, "Attempting to start service discovery:" +
mBluetoothGatt.discoverServices()); } else if (newState == BluetoothProfile.STATE_DISCONNECTED) {
intentAction = ACTION_GATT_DISCONNECTED;
mConnectionState = STATE_DISCONNECTED;
Log.i(TAG, "Disconnected from GATT server.");
broadcastUpdate(intentAction);
}
}
30秒后会回调发现服务,特征回调方法 返回状态为129
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status)
{
if (status == BluetoothGatt.GATT_SUCCESS)
{
broadcastUpdate(ACTION_GATT_SERVICES_DISCOVERED);
}
else
{
Log.w(TAG, "onServicesDiscovered received: " + status);
}
}
我用Nexus 4/Note 2(CM10.2)
看来是Android 4.3的蓝芽堆栈问题。
额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!
额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!
了解,我之前一个项目是用nexus 4测试的,后来换了小米2S 刷的4.3,问题解决了。当时初步定位到是设备的问题,现在在做的这个项目 问题又出现了 129.也是很困惑,有问题多交流下吧
在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你
if(mBluetoothLeService.disconStatus==129){
mBluetoothLeService.close();
Log.d(TAG,"----129----");
mBluetoothAdapter.disable();
try {
Thread.sleep(2500);
} catch (InterruptedException e) {
e.printStackTrace();
}
mBluetoothAdapter.enable();
}
我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:
在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你
if(mBluetoothLeService.disconStatus==129){
mBluetoothLeService.close();
Log.d(TAG,"----129----");
mBluetoothAdapter.disable();
try {
Thread.sleep(2500);
} catch (InterruptedException e) {
e.printStackTrace();
}
mBluetoothAdapter.enable();
}
额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!
了解,我之前一个项目是用nexus 4测试的,后来换了小米2S 刷的4.3,问题解决了。当时初步定位到是设备的问题,现在在做的这个项目 问题又出现了 129.也是很困惑,有问题多交流下吧刷机就解决了???我的是4.4.2版本。
手机和设备连接,连接有个过程。需要等2到4秒这时候断开蓝牙,再用手机连接设备。会出现所有手机连不上设备(android 4.4.0以下版本)。
我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:
在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你
if(mBluetoothLeService.disconStatus==129){
mBluetoothLeService.close();
Log.d(TAG,"----129----");
mBluetoothAdapter.disable();
try {
Thread.sleep(2500);
} catch (InterruptedException e) {
e.printStackTrace();
}
mBluetoothAdapter.enable();
}哪里来的BluetoothLeService.ACTION_GATT_DISCONNECTED这个广播?