Фоновое сканирование Bluetooth не работает, когда приложение работает в фоновом режиме в приложении Cordova

Я инициализирую 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, я даже добавил разрешение для службы переднего плана в manifest.xml файла cordova и plugin.xml.

0 ответов

Другие вопросы по тегам