2016-02-13 15 views
8

Hầu hết các lần nó hoạt động tuyệt vời nhưng đôi khi tôi đang gặp lỗi này khi cố gắng khám phá các thiết bị BLE:Cách sửa lỗi Android BLE SCAN_FAILED_APPLICATION_REGISTRATION_FAILED?

02-12 18:00:41.952 16178-16339/com.icrealtime.allie W/BleRpcConnectionFactory﹕ Starting discovery 
02-12 18:00:41.955 16178-16339/com.icrealtime.allie D/BluetoothAdapter﹕ STATE_ON 
02-12 18:00:41.957 24342-18813/? D/BtGatt.GattService﹕ registerClient() - UUID=c4a4c56d-1d10-4615-9c8d-44971bc3d6e6 
02-12 18:00:41.957 24342-24384/? E/bt_btif﹕ Register with GATT stack failed. 
02-12 18:00:41.957 24342-24384/? E/bt_btif﹕ Register with GATT stack failed. 
02-12 18:00:41.957 24342-24370/? D/BtGatt.GattService﹕ onClientRegistered() - UUID=c4a4c56d-1d10-4615-9c8d-44971bc3d6e6, clientIf=0 
02-12 18:00:41.958 16178-16190/com.icrealtime.allie D/BluetoothLeScanner﹕ onClientRegistered() - status=133 clientIf=0 
02-12 18:00:41.967 16178-16178/com.icrealtime.allie E/BleRpcConnectionFactory﹕ BLE SCAN FAILED: 2 

mã lỗi 2 là viết tắt cho https://developer.android.com/reference/android/bluetooth/le/ScanCallback.html#SCAN_FAILED_APPLICATION_REGISTRATION_FAILED

Nó có vẻ là vấn đề nội bộ android, nhưng nó có thể bị ảnh hưởng bởi mã của tôi làm điều gì đó sai. Điều gì có thể là lý do và cách đi bộ?

PS. Nexus 9, Android 6.0.1

Trả lời

0

Có thể giải pháp có thể là vô hiệu hóa/bật tính năng lập trình blueetooth theo chương trình. Khi bạn đã nhận lỗi SCAN_FAILED_APPLICATION_REGISTRATION_FAILED bạn nên vô hiệu hóa các BluetoothAdapter:

BluetoothAdapter.getDefaultAdapter().disable(); 

Vô hiệu hóa BluetoothAdapter, sự kiện STATE_TURNING_OFF là bắn. Khi sự kiện này được kích hoạt, hãy thử kết nối lại với 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; 
+0

Thật không may điều này dường như không khắc phục được sự cố. Tôi thấy cùng một vấn đề trên cả Android 6.0.1 và 7.1. Ứng dụng của tôi đã thực hiện quét liên tục trong một thời gian dài; điều này chỉ xảy ra hai lần trong khoảng một tuần. Tuy nhiên, điều thú vị là ứng dụng Cài đặt vẫn có thể thực hiện quét Bluetooth cho các thiết bị ngoại vi xung quanh, nhưng tất cả các ứng dụng của bên thứ ba thực hiện quét sẽ nhận được mã lỗi này của 'SCAN_FAILED_APPLICATION_REGISTRATION_FAILED'. –

Các vấn đề liên quan