Я использую Headless JS
в реакции на родную для создания фонового сервиса.Мое требование - создать службу, которая будет вызываться из MainActivity
(например, по нажатию кнопки) и продолжать работать даже после того, как приложение перейдет в фоновый режим.Мне удалось создать сервис с Headless JS
и вызывать по нажатию кнопки.Для простоты я объясню простым кодом
MyTask.js
module.exports = async () => {
console.log("I am called from java service");
for(var i=0; i<1000000;i++){
console.log("I am called from for loop"+i);
}
};
При использовании приведенного выше кода, даже после того, как приложение переходит в фоновый режим, цикл for продолжает выполнение до тех пор, пока i
не достигнет 999999
также я вижу сообщение консоли в консоли.
Но моя настоящая задача содержит некоторые функции async
.Например, когда я использую следующий код в своей задаче, он не печатает, когда приложение переходит в фоновый режим
module.exports = async () => {
console.log("I am called from java service");
setInterval(() => {
console.log("I am called from java service inside setInterval");
}, 100);
};
Приведенный выше код должен печатать сообщение журнала непрерывно с интервалами 100
мс.Но как только приложение переходит в фоновый режим, оно перестает печатать.Снова, когда приложение возобновляет работу, оно начинает печатать снова.
Может ли кто-нибудь помочь в этом?