我正在开发类似于使用 Flutter 的闹钟应用程序。 在应用程序中,我想在我指定的时间从后台显示应用程序屏幕。 我找到了名为 android 警报管理器的插件。 由于插件的原因,我可以在我指定的时间运行该方法,但我不知道如何显示屏幕。
这是我的代码
class _HomePageState extends State<HomePage> {
bool isOn = false;
int alarmId = 1;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Transform.scale(
scale: 2,
child: Switch(
value: isOn,
onChanged: (value) {
setState(() {
isOn = value;
});
if (isOn == true) {
// AndroidAlarmManager.periodic(
// Duration(seconds: 5), alarmId, fireAlarm);
AndroidAlarmManager.oneShotAt(
DateTime(2021,6,10,23,50,0),alarmId,fireAlarm
);
} else {
AndroidAlarmManager.cancel(alarmId);
print('Alarm Timer Canceled');
}
},
),
),
),
);
}
}
void fireAlarm() {
print('Alarm Fired at ${DateTime.now()}');
//TODO run App
}
在 fireAlarm 中没有“上下文”,所以我不能放置 Navigator.push 有谁知道如何实现这一点。
(现在我的目标操作系统是 android。)