问题描述
我的Android应用扫描BLE设备,从某个点开始失败,并显示错误代码2( ScanCallback.SCAN_FAILED_APPLICATION_REGISTRATION_FAILED ).我正在使用Nexus 9、5.0.1棒棒糖.
My Android app scans BLE devices, and from a certain point it start to fails with error code 2 (ScanCallback.SCAN_FAILED_APPLICATION_REGISTRATION_FAILED). I'm using Nexus 9, 5.0.1 Lollipop.
即使我重新启动了该应用程序,该问题仍然存在,并且当我从设置"重新启动蓝牙服务时,我终于可以摆脱该问题.但是这个问题反复出现,而且我认为我的编码方式有误. BLE相关的API是新的,几乎没有信息.
This problem continued even after I relaunched the app, and when I restarted the Bluetooth service from Settings, I could finally get rid of the problem. But this problem is recurring, and I think I'm coding in a wrong way; BLE related APIs are new and there is few information.
有人知道该错误的一般解决方案,最好不需要重启蓝牙服务吗?即使此错误代码已记录在Android API参考中,我也不知道如何正确处理它.
Does anyone know a general solution for this error, preferably not requiring restart of the Bluetooth service? Even though this error code is documented in Android API reference, I don't know how to handle it properly.
推荐答案
出现错误
SCAN_FAILED_APPLICATION_REGISTRATION_FAILED
您应该禁用BluetoothAdapter
You should disable the BluetoothAdapter
BluetoothAdapter.getDefaultAdapter().disable();
禁用BluetoothAdapter,将触发事件STATE_TURNING_OFF.触发此事件后,尝试重新连接到BluetoothAdapter:
Disabling BluetoothAdapter, the event STATE_TURNING_OFF is fired. Once this event is fired, try to reconnect to the BluetoothAdapter:
case BluetoothAdapter.STATE_OFF:
Log.d(TAG, "bluetooth adapter turned off");
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.d(TAG, "bluetooth adapter try to enable");
BluetoothAdapter.getDefaultAdapter().enable();
}}, 500);
break;
这篇关于BLE扫描的SCAN_FAILED_APPLICATION_REGISTRATION_FAILED解决方案?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!