Фоновое сканирование 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.