首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当应用程序在颤动中处于恢复状态时,尝试更新变量的值

当应用程序在颤动中处于恢复状态时,尝试更新变量的值
EN

Stack Overflow用户
提问于 2020-06-25 23:48:28
回答 1查看 131关注 0票数 0

当应用程序处于恢复状态但仍显示空值时,我正在尝试更新dynamiclink的值。我如何更新应用程序中的变量值处于恢复状态,即使没有杀死应用程序。

例如,在动态链接扫描一个二维码并重新定向到我们的应用程序时,应用程序是后台的,而我扫描第二个二维码时,动态链接值没有更新

代码语言:javascript
复制
    String dynamiclink;    
    void didChangeAppLifecycleState(AppLifecycleState state) {
            if (state == AppLifecycleState.resumed) {
              setState(() {
                dynamiclink = " ";
              });
              _timerLink = new Timer(const Duration(milliseconds: 850), () {
                _retrieveDynamicLink();
              });
            }else{
              _retrieveDynamicLink();
            }
         }

    // here i am passing value in variable named dynamiclink

     Future<void> _retrieveDynamicLink() async {
        final PendingDynamicLinkData data =
        await FirebaseDynamicLinks.instance.getInitialLink();
        final Uri deepLink = data?.link;
        dynamiclink = deepLink.toString();
     }
EN

回答 1

Stack Overflow用户

发布于 2020-06-26 02:54:22

使用WidgetBindingObserver扩展您的类

class MyApp extends WidgetBindingObserver实现了这两个函数,您可以在其中添加和处理小部件绑定观察器,绑定观察器将收到不同应用程序事件的通知

代码语言:javascript
复制
@override
  void initState() {
    WidgetsBinding.instance.addObserver(this);
    super.initState();
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

最后

代码语言:javascript
复制
@override
  void didChangeAppLifecycleState(AppLifecycleState state) {
   
            if (state == AppLifecycleState.resumed) {
              setState(() {
                dynamiclink = " ";
              });
              _timerLink = new Timer(const Duration(milliseconds: 850), () {
                _retrieveDynamicLink();
              });
            }else{
              _retrieveDynamicLink();
            }
         }

  }

这应该是可行的。

有关详细信息,请参阅:

  1. https://api.flutter.dev/flutter/widgets/WidgetsBindingObserver-class.html
  2. didChangeAppLifecycleState doesn't work as expected
  3. https://medium.com/pharos-production/flutter-app-lifecycle-4b0ab4a4211a
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62579284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档