network_settings_state 0.1.3 copy "network_settings_state: ^0.1.3" to clipboard
network_settings_state: ^0.1.3 copied to clipboard

Query whether Wi-Fi and mobile data are enabled in the device's system settings, independent of which network is currently carrying traffic. Complements connectivity_plus rather than replacing it.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:network_settings_state/network_settings_state.dart';

void main() {
  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'network_settings_state example',
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  NetworkSettingsSnapshot? _snapshot;
  Object? _error;

  @override
  void initState() {
    super.initState();
    _loadSnapshot();

    NetworkSettingsState.onChanged.listen(
      (NetworkSettingsSnapshot snapshot) => setState(() => _snapshot = snapshot),
      onError: (Object error) => setState(() => _error = error),
    );
  }

  Future<void> _loadSnapshot() async {
    try {
      final snapshot = await NetworkSettingsState.getSnapshot();
      setState(() => _snapshot = snapshot);
    } catch (error) {
      setState(() => _error = error);
    }
  }

  @override
  Widget build(BuildContext context) {
    final snapshot = _snapshot;

    return Scaffold(
      appBar: AppBar(title: const Text('network_settings_state')),
      body: Center(
        child: _error != null
            ? Text('Error: $_error')
            : snapshot == null
                ? const CircularProgressIndicator()
                : Column(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Text('Wi-Fi enabled: ${snapshot.wifiEnabled}'),
                      const SizedBox(height: 8),
                      Text(
                        'Mobile data enabled: '
                        '${snapshot.mobileDataEnabled?.toString() ?? "unknown (iOS)"}',
                      ),
                      const SizedBox(height: 24),
                      ElevatedButton(
                        onPressed: _loadSnapshot,
                        child: const Text('Refresh'),
                      ),
                    ],
                  ),
      ),
    );
  }
}
0
likes
0
points
84
downloads

Publisher

unverified uploader

Weekly Downloads

Query whether Wi-Fi and mobile data are enabled in the device's system settings, independent of which network is currently carrying traffic. Complements connectivity_plus rather than replacing it.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on network_settings_state

Packages that implement network_settings_state