[英]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.