簡體   English   中英

Flutter 中的連接頁面

[英]Connectivity page in Flutter

我嘗試使用評分最高的答案: 檢查 Flutter 應用程序上是否有可用的 Internet 連接以檢查我是否有 Internet 連接,但我需要創建一個頁面,顯示如果 catch 返回錯誤時沒有信號的文本,但是我不知道如何在 flutter 中執行此操作。 然后如果沒有錯誤,則返回正常的主菜單頁面。 謝謝

這是一個快速的解決方案,但可能不是最好的:

使用您提供的鏈接,我們可以像這樣創建 function:

Future<bool> _checkIfConnected() async {
  try {
    final result = await InternetAddress.lookup('google.com');
    if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
      print('connected');
    }
    return true;
  } on SocketException catch (_) {
    print('not connected');
    return false;
  }
}

這將檢查您是否已連接,並返回一個帶有 bool 值的未來,該值表明您的連接是否成功。

然后在您的小部件上,您可以使用這樣的未來構建器:

FutureBuilder(
    future: _checkIfConnected(),
    builder: (context, isConnected) =>
        isConnected.connectionState == ConnectionState.done
            ? isConnected.data
                ? // your main menu here //
                : Center(
                    child: Text('no signal'),
                  )
            : CircularProgressIndicator(),
  )

由於連接檢查返回一個未來,因此您必須在此處使用未來構建器。 它只是根據您未來的 state 返回一個小部件。 更多關於未來建設者的信息在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM