2016-04-08 17 views
0

Belirli bir cihaz için sürekli tarama yapan bir android servis yazdım ve cihaz bulunduğunda cihazla bağlantı kurar, veri okur ve bağlantıyı keser. Cihaz tekrar reklam verirken, servis yine aynı şeyi yapar. Genel olarak, iyi çalışıyor ve beklenen davranışı gösteriyor ancak Bluetooth'u kapatıp tekrar açsam, hizmet reklam aygıtına bağlanmaz. Bluetooth açıldığında tekrar taramayı denedim. Ayrıca GATT ile yeniden bağlantı kurmaya çalıştım ama hiçbir şey işe yaramıyor.Bluetooth yeniden başlatıldıktan sonra BLE Taraması yeniden başlatılıyor (ANDROID)

cevap

0

Hatayı çözdüm. Aynı sorunla karşı karşıya olan kişiler için yararlı olabilir. Sorunum, taramanın yalnızca BluetoothGatt nesnem boş olduğunda başlatıldığından emin olmak için Tarama yöntemimde bir kontrol gerçekleştirmemdi.

public void startNordicScan() { 
     if (mGatt == null) { 
      Log.d(LOGTAG, "startScan"); 
      BluetoothLeScannerCompat scanner = BluetoothLeScannerCompat.getScanner(); 
     scanner.startScan(mScanCallback); 
     } 
    } 

yüzden mGatt (BluetoothGatt) nesneyi yapmadan tekrar tarayın başlarsanız, cihazların keşfedilen edilmeyecektir.