We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stop not working
import BackgroundActions from 'react-native-background-actions'; import { DeviceEventEmitter } from 'react-native'; /** * Class BackgroundTaskManager is designed to manage background tasks using * react-native-background-actions. However, the task started by scheduleTask * does not stop when finish is called. */ class BackgroundTaskManager { static instance = null; static iteration = 0; static backgroundTaskId = null; constructor() { if (!BackgroundTaskManager.instance) { BackgroundTaskManager.instance = this; BackgroundTaskManager.resetInit(); console.log('BackgroundTaskManager initialized'); } return BackgroundTaskManager.instance; } /** * Resets the task manager and clears any existing background task configuration. */ static resetInit() { this.configArgsiOS = null; this.configStartFunction = null; this.configTimeoutFunction = null; this.task = null; this.options = null; this.iteration++; console.log('BackgroundTaskManager reset'); } /** * Configures the task manager with provided arguments. */ static async configure(...args) { BackgroundTaskManager.resetInit(); console.log('Configuring with args:', args); this.configArgsiOS = args; if (this.configStartFunction === null) { this.configStartFunction = args[1]; } this.configTimeoutFunction = args[2]; console.log('Configuration is now unified for both platforms.'); } /** * Schedules a new background task. The task does not stop as expected when * the finish method is called. */ static async scheduleTask(...args) { const { taskId } = args[0]; console.log('Scheduling task with args:', args); // Task scheduling options this.options = { // ... existing options }; // Task logic const veryIntensiveTask = async taskDataArguments => { // ... existing task logic }; console.log(`Background task ${taskId} scheduled`); if (this.configStartFunction) { BackgroundActions.start(veryIntensiveTask, this.options); } } /** * Attempts to stop the background task. However, this does not * seem to stop the ongoing task. */ static async finish() { BackgroundActions.stop(); BackgroundTaskManager.resetInit(); console.log(`Stopping background task`); DeviceEventEmitter.emit('stopBackgroundTask'); } static delay = ms => new Promise(resolve => setTimeout(resolve, ms)); } export default BackgroundTaskManager;
tried all ways but my internal hidden logic when i cann BackgroundActions.stop does not terminate ongoing task
The text was updated successfully, but these errors were encountered:
No branches or pull requests
stop not working
tried all ways but my internal hidden logic when i cann BackgroundActions.stop does not terminate ongoing task
The text was updated successfully, but these errors were encountered: