警报触发时如何显示小部件

时间:2020-08-22 07:30:14

标签: flutter flutter-dependencies

我想从回调中显示小部件,但似乎找不到上下文并给出此错误:

E / flutter(22300):[错误:flutter / lib / ui / ui_dart_state.cc(166)]未处理的异常:NoSuchMethodError:方法'findAncestorStateOfType'被调用为null。 E / flutter(22300):接收者:null E / flutter(22300):尝试调用:findAncestorStateOfType()

    static BuildContext _context;


    static Future<void> callback() async {
    print('Alarm fired!');

    // Get the previous cached count and increment it.
    final prefs = await SharedPreferences.getInstance();
    int currentCount = prefs.getInt(countKey);

    Navigator.push(
      _context,
      MaterialPageRoute(
        builder: (context) => AlarmScreen(
          id: currentCount,
        ),
      ),
    );
    await prefs.setInt(countKey, currentCount + 1);

    // This will be null if we're running in the background.
    uiSendPort ??= IsolateNameServer.lookupPortByName(isolateName);
    uiSendPort?.send(null);
  }
  

    @override
      Widget build(BuildContext context) {
        setState(() {
          _context = context;
        });

0 个答案:

没有答案