如何在flutter(android)中从后台运行应用程序

时间:2021-06-11 00:07:35

标签: android flutter

我正在开发类似于使用 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。)

0 个答案:

没有答案