因此,我创建了一个应用程序,可以在间隔后播放声音 - 用于我的骑车和跑步程序。
但是当我锁定 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;
}
});
}
Run Code Online (Sandbox Code Playgroud)
我使用的包:
import 'package:audioplayers/audio_cache.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
Run Code Online (Sandbox Code Playgroud)
我希望应用程序在手机屏幕锁定时继续计数并播放声音。(最小化时它工作正常,但当屏幕锁定时,它会在 15 秒后冻结)。
| 归档时间: |
|
| 查看次数: |
5700 次 |
| 最近记录: |