startup static method
Start network status listen (single)
If availabilityHosts
is List
If availabilityHosts
is null, only ConnectivityState.BLUETOOTH,
ConnectivityState.WIFI, ConnectivityState.ETHERNET,
ConnectivityState.MOBILE, ConnectivityState.NONE three events will be
broadcast.
Implementation
static void startup({List<String>? availabilityHosts}) async {
if (_listener == null) {
Log.d("ConnectivityListener: startup");
// Send notification immediately when first execution and no network
final res = enumFromString(
ConnectivityState.values,
enumToString(await (Connectivity().checkConnectivity()))
.toUpperCase());
if (res == ConnectivityState.NONE) {
_lastState = res;
Log.d("ConnectivityListener: Fire ConnectivityEvent $_lastState");
eventBus.fire(ConnectivityEvent(res));
}
// Start listen
_listener = Connectivity()
.onConnectivityChanged
.listen((ConnectivityResult result) async {
checkState(availabilityHosts: availabilityHosts);
});
} else {
Log.d("ConnectivityListener: Fire ConnectivityEvent $_lastState");
eventBus.fire(ConnectivityEvent(_lastState));
}
}