ddd_poka
@ddd_poka
разрабатываю мобильные приложения

Как заставить работать bluetooth в мобильном приложении на cordova?

Всем привет. Нужна помощь с подключением по bluetooth в мобильном приложении на cordova. Пробовал плагины: cordova-plugin-bluetoothle, cordova-plugin-ble-central, @iotize/cordova-plugin-iotize-ble,

Что то делаю не так. Ничего не хочет работать. Подскажите, кто реализовывал. Задача - просканировать окружение и измерить уровень сигнала до другого устройства. Заранее спасибо.

new Promise(function (resolve) {
    bluetoothle.initialize(resolve, { request: true, statusReceiver: false });
  }).then(initializeSuccess, handleError);

  function initializeSuccess(result) {
    if (result.status === "enabled") {
      //myApp.alert("Bluetooth is enabled.");
      // myApp.alert(result);
      startScan();
    }
    else {
    }
  }

  function handleError(error) {
    var msg;
  }

  // function log(msg, level) {
  //   level = level || "log";
  //   if (typeof msg === "object") {
  //     msg = JSON.stringify(msg, null, "  ");
  //   }
  //   console.log(msg);
  //   if (level === "status" || level === "error") {
  //     var msgDiv = document.createElement("div");
  //     msgDiv.textContent = msg;
  //     if (level === "error") {
  //       msgDiv.style.color = "red";
  //     }
  //     msgDiv.style.padding = "5px 0";
  //     msgDiv.style.borderBottom = "rgb(192,192,192) solid 1px";
  //     document.getElementById("output").appendChild(msgDiv);
  //   }
  // }

  var foundDevices = [];

  function startScan() {
    bluetoothle.startScan(startScanSuccess, handleError, { services: [] });
  }

  function startScanSuccess(result) {
    alert("startScanSuccess(" + result.status + ")");
    if (result.status === "scanStarted") {
      alert("Scanning for devices (will continue to scan until you select a device)...", "status");

    }
    else if (result.status === "scanResult") {
      if (!foundDevices.some(function (device) {
          return device.address === result.address;
        })) {
        addDevice(result.name, result.address);
      }
    }
  }

  // function retrieveConnectedSuccess(result) {
  //   log("retrieveConnectedSuccess()");
  //   log(result);
  //   result.forEach(function (device) {
  //     addDevice(device.name, device.address);
  //   });
  // }

  function addDevice(name, address) {
   alert("name = " + name + ' address = ' + address);
  }
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы