networking_permissions 1.0.0 copy "networking_permissions: ^1.0.0" to clipboard
networking_permissions: ^1.0.0 copied to clipboard

iOS Networking Permissions.

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:networking_permissions/networking_permissions.dart';
import 'package:permission_handler/permission_handler.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _networkingPermission = 'Unknown';

  @override
  void initState() {
    super.initState();
    initNetworkState();
  }

  Future<void> initNetworkState() async {
    String networkingPermission;

    try {
      final CTCellularDataRestrictedState state = await NetworkingPermissions().getNetworkingPermissions;
      networkingPermission = state.toString();
    } catch (e) {
      networkingPermission = 'Failed to get networkign permission:$e';
    }

    if (!mounted) return;

    setState(() {
      _networkingPermission = networkingPermission;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('NetworkingPermissions'),
        ),
        floatingActionButton: FloatingActionButton(
          child: const Text(
            'Update',
            style: TextStyle(fontSize: 10),
          ),
          onPressed: () {
            initNetworkState();
          },
        ),
        body: Padding(
          padding: const EdgeInsets.only(left: 20, right: 20, top: 20),
          child: Column(
            children: [
              Text('NetworkingPermissions: $_networkingPermission\n'),
              const Divider(),
              StreamBuilder(
                initialData: CTCellularDataRestrictedState.restrictedStateUnknown,
                stream: NetworkingPermissions().getNetworkingPermissionsStatus(),
                builder: (BuildContext context, AsyncSnapshot<CTCellularDataRestrictedState> snapshot) {
                  return Text(parseResultToString(snapshot.data));
                },
              ),
              const SizedBox(height: 20),
              GestureDetector(
                onTap: () {
                  openAppSettings();
                },
                child: const Text('Open Setting'),
              )
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
130
points
23
downloads

Publisher

unverified uploader

Weekly Downloads

iOS Networking Permissions.

Homepage

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on networking_permissions