[英]Internet Connectivity flutter
這是我用來檢查互聯網連接的代碼
import 'dart:async';
import 'package:internet_connection_checker/internet_connection_checker.dart';
import 'package:flutter/material.dart';
class CheckingConnectivity {
late InternetConnectionChecker internetConnectionChecker;
late StreamSubscription<InternetConnectionStatus> connectionStatusListener;
bool hasInternetConnection = false;
var onStatusChange = InternetConnectionChecker().onStatusChange;
//Checking Internet connection
internetChecker(BuildContext context) async {
var connectionChanging = onStatusChange.listen((event) async {
hasInternetConnection = event == InternetConnectionStatus.connected;
if(hasInternetConnection == true) {
showSnackBar(context, "Connected");
} else if(hasInternetConnection == false) {
showSnackBar(context, "Disconnected");
}
});
}
showSnackBar(BuildContext context, String message) {
final snackBar = SnackBar(content: Text(message,
style: TextStyle(color: Colors.white, backgroundColor: Colors.grey),));
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}
}
當應用程序啟動時,即使我已經連接到互聯網,它也會顯示已連接。 我希望它僅在我重新連接到互聯網時顯示已連接。 非常感謝。 我很感激
因此,在查看庫的代碼時,我發現它們最初總是發送狀態更新。 一個簡單的解決方法是讓計數器變量在您每次收到狀態更改事件時遞增。 如果計數器變量有它的默認值,你就知道你收到了初始事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.