Счетчик на переднем плане FlutterAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Счетчик на переднем плане Flutter

Сообщение Anonymous »

Я делаю молитвенное приложение и добавляю службу переднего плана, чтобы установить следующее молитвенное время и отсчет того, что осталось для него. Но счетчик работает нормально, но когда я закрываю приложение или помещаю его в задний план, таймер продолжает работать менее чем на 1 минуту, а затем останавливается. Я пробовал много вещей даже с помощью Chatgpt и DeepSeek, но все еще ничего не получил. Похоже, что я не знаю, и не знаю. Когда я держу приложение работать на переднем плане, все работает хорошо. счетчик, время Адхана и даже звук и останавливая его ... и т. Д. < /p>

Код: Выделить всё

void _listenToPrayer() async {
log('Listen To Prayer');
// log(' ${}');
try {
await HiveService.instance.init();
DartPluginRegistrant.ensureInitialized();

// Get prayer data
yearPrayers = HiveService.instance.getPrayers();

if (yearPrayers == null) {
log('No prayer data found.');
return;
}

_getNextPrayer(yearPrayers!, false);
} on FirebaseException catch (e, st) {
log('Firebase error: ${e.message} \n $st');
} catch (e, st) {
log('General error: $e \n $st');
}
< /code>
} < /p>
void _initializeAndStartCountdown() {
DateTime nextPrayerDateTime = _parsePrayerTime(prayerTime);

if (nextPrayerDateTime.isBefore(DateTime.now())) {
Duration passedDuration = DateTime.now().difference(nextPrayerDateTime);

if (passedDuration.inMinutes < 30) {
countdown = _formatPositiveDuration(passedDuration);
_isPositiveTimer = true;
} else {
nextPrayerDateTime = nextPrayerDateTime.add(const Duration(days: 1));
countdown =
_formatDuration(nextPrayerDateTime.difference(DateTime.now()));
_isPositiveTimer = false;
}
} else {
countdown =
_formatDuration(nextPrayerDateTime.difference(DateTime.now()));
_isPositiveTimer = false;
}

_timer = Timer.periodic(const Duration(seconds: 1), (_) {
if (_isPositiveTimer) {
_startCountUpTimer(nextPrayerDateTime);
} else {
_startCountDownTimer(nextPrayerDateTime);
}
});
}

Подробнее здесь: https://stackoverflow.com/questions/793 ... ce-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»