nutes-uepb/simple-ble-scanner

Problema no start/stop scan de dispositivo

Closed this issue · 1 comments

Por exemplo: se definido o scanner com um tempo de 15s, e apos 10s for dado um stop, apos iniciar novamente o scanner, o tempo e reduzido para 5s e não mais 15s como definido.

Trecho do codigo onde é definido o tempo de scanner:

// Initialize scanner settings
mScanner = new SimpleBleScanner.Builder()
                .addScanPeriod(15000) // 15s
                .addFilterServiceUuid(getServiceUuidDevice(mDevice.getName()))
                .build();

Problema corrigido.

handler = new Handler();

       runnable = new Runnable() {
           @RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADMIN})
           @Override
           public void run() {
               stopScan();
           }
       };
       handler.postDelayed(runnable, scanPeriod);

Quando dava um stop, não finalizava a thread que contava o tempo:

handler.removeCallbacks(runnable);

Obrigado!