Фоновое сканирование Bluetooth не работает, когда приложение работает в фоновом режиме в приложении Cordova - PullRequest
0 голосов
/ 14 июля 2020

Я инициализирую blueeothle и периферийное устройство, используя следующий код: -

bluetoothle.initialize(function initializeResult(result) {
        console.log(result);
      },  {
        request: true,
        statusReceiver: true,
        restoreKey: "bluetoothleplugin",
      });
     bluetoothle.initializePeripheral(
        function initializeResult(result) {
          console.log("initialize peripheral");
          console.log(result);
        },
        function error(result) {
          console.log("init peripheral error");
          console.log(result);
        },
        {
          request: true,
          restoreKey: "bluetoothleplugin",
        }
      );
          

, и я начал сканирование, используя следующие параметры: -

bluetoothle.startScan(
        (result: BluetoothScanResult) => {
          console.log("result in searching");
          // console.log(result);
          if (result.name) {
            bluetoothresult.push(result);
            resulllt.push(result);
            bluetoothresultconst.push(result);
            resullltconst.push(result);
          }
        },
        function startScanErrorCallback(err) {
          console.log("printing err");
          console.log(err);
        },
        { serviceUuids: [],allowDuplicates:true }
      );

      setTimeout(() => {
        bluetoothle.stopScan(
          (result) => {
            console.log("stopping the scanning");
            console.log(bluetoothresult);
            if (bluetoothresult.length != 0) {
              console.log("got result length is more than zero");
                }
          },
          function stopScanErrorCallback(result) {
            console.log("came error in stopping the scanning ");
            console.log(result);
          }
        );
      }, 40000);

Я получаю сканирование результаты в порядке, но когда я переместил приложение в фоновый режим, используя следующий код: - cordova.plugins.backgroundMode.moveToBackground();

я получал пустые результаты для сканирования. Я сохранил интервал для сканирования как 60000 мс и тайм-аут 40000 мс для остановки, но немедленно, когда приложение создано для работы на переднем плане. Результаты сканирования были в порядке.

Примечание : - Я проверяю приложение на устройстве Android 9, я даже добавил разрешение для переднего плана в манифесте. xml кордовы и плагина. xml также

...