Как сохранить приложение на экране блокировки во Flutter? - PullRequest
0 голосов
/ 23 апреля 2020

Итак, я создал приложение, которое воспроизводит звуки через определенные промежутки времени - для моих циклов и запуска подпрограмм.

Но когда я блокирую экран моего телефона 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 секунд).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...