小编Can*_*000的帖子

了解 Flutter 中的 Future 和 Completer...如何使用控制器从 webview 加载新的 url

我无法在 flutter Webview 中加载新 URL...我在 flutter Controller中使用then时遇到问题...FutureWebview

在颤动中Webview,我想加载initialUrl,然后以编程方式从该网页检索一些信息...到目前为止一切正常...但后来我希望Webview 自动加载另一个网页...但我不知道如何使用 thecontroller 和 theCompleter 来做到这一点

片段:

WebView(
  initialUrl: 'https://flutter.dev',
  onWebViewCreated: (WebViewController webViewController) {
    _controller.complete(webViewController);
    },
  onPageFinished: (String url) async{
    if (url == 'https://flutter.dev') {
      // *** I retrieve some data, then I want to navigate ***
      _controller!.loadUrl('https://google.com'); // *** ERROR HERE ***
    }
  },
)
Run Code Online (Sandbox Code Playgroud)

我尝试直接使用controller

_controller!.loadUrl('https://google.com');
Run Code Online (Sandbox Code Playgroud)

如果我不使用 aCompleter 而只是分配 a ,它就可以工作controller

_controller = webViewController;
Run Code Online (Sandbox Code Playgroud)

但似乎不是推荐的选择:

我找到了其他使用 …

asynchronous webview dart flutter

6
推荐指数
1
解决办法
1216
查看次数

尽管完全相同的 flutter 代码,为什么 Appcheck 会从已发布的 Android 而不是 iPhone 随机生成无效请求

我构建了一个使用flutterFirebase Firestore和 的应用程序Firebase Authentication

我使用完全相同的基本代码在Android Play store(内部测试)和Apple App Store( )中发布了我的应用程序。Testflightflutter

问题:

为什么 App Check 每隔几个小时就无法识别一些 Android 请求(未验证:无效请求),而它会将所有其余请求识别为已验证......同时 App Check 可以识别(已验证的请求)100% 的 iPhone 请求?当我从设备重新启动应用程序时,它甚至可以识别相同的 Android 应用程序

解释:

  1. 这是仅显示Android应用程序请求(来自 1 台设备)的快照:您可以在开头看到“未验证”(参见图中的红色箭头),然后在几个小时内全部变为“已验证”,然后再次 1“未经验证”(此处未显示)等等。

仅显示 Android 应用程序请求的快照

2 - 这是仅显示iPhone应用程序请求(来自 1 台设备)的快照:您可以看到所有内容都按预期“验证”,即使在几个小时或几天后也是如此。

在此输入图像描述

代码:

  Future <void> main() async{
    WidgetsFlutterBinding.ensureInitialized(); 
    await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform,);
    await FirebaseAppCheck.instance.activate(
        androidProvider: AndroidProvider.playIntegrity, appleProvider: AppleProvider.appAttestWithDeviceCheckFallback);
    runApp(AuthUserProviderWidget());
  }
Run Code Online (Sandbox Code Playgroud)

对于签名密钥,我使用 Google Play Console > 发布 > 设置 > 应用签名 > 应用签名密钥证书 > …

android firebase flutter firebase-app-check

6
推荐指数
1
解决办法
395
查看次数