Итак, я создал приложение, которое воспроизводит звуки через определенные промежутки времени - для моих циклов и запуска подпрограмм.
Но когда я блокирую экран моего телефона android, приложение перестает работать примерно через 15 секунд.
Код приложения выглядит следующим образом:
DateTime duration = new DateTime.fromMicrosecondsSinceEpoch(interval.inMicroseconds);
Timer counterSeconds;
Icon iconTimerStarter = new Icon(iconStart);
DateFormat minutesSeconds = new DateFormat("ms");
static AudioCache player = new AudioCache();
void startTimer(interval) {
if (duration.millisecondsSinceEpoch == 0) {
duration = new DateTime.fromMicrosecondsSinceEpoch(interval.inMicroseconds);
}
counterSeconds = new Timer.periodic(oneSec, (Timer t) => handleTick());
_setIconForButton(new Icon(iconCancel));
}
void handleTick() {
print(duration);
setState(() {
duration = duration.subtract(oneSec);
if (duration.millisecondsSinceEpoch == 0) {
stopTimer();
if(sprint){
player.play(alarmWalk);
startTimer(Duration(seconds: 90));
}else{
startTimer(Duration(seconds: 30));
player.play(alarmSprint);
}
sprint = !sprint;
}
});
}
Используемые мной пакеты:
import 'package:audioplayers/audio_cache.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
Я хочу, чтобы приложение продолжало считать и воспроизводить звуки при включенном экране мой телефон заблокирован (он работает нормально, когда свернут, но когда экран заблокирован, он просто зависает примерно через 15 секунд).