Skip to content

Permission Guard is a Flutter package that provides an easy way to handle permissions in your Flutter applications. It simplifies the process of requesting, checking, and managing user permissions, allowing you to focus on the core functionality of your app.

License

Notifications You must be signed in to change notification settings

flutter-try-catch/Permission-Gaurd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Permission Guard

Permission Guard is a Flutter package that provides an easy way to handle permissions in your Flutter applications. It simplifies the process of requesting, checking, and managing user permissions, allowing you to focus on the core functionality of your app.

Features

  • Requesting permissions from the user
  • Checking the status of permissions
  • Handling different permission scenarios (granted, denied, restricted, etc.)
  • Providing UI components for permission-related screens

Getting Started

To start using Permission Guard in your Flutter project, you need to add it as a dependency in your pubspec.yaml file:

dependencies:
  permission_guard: ^1.0.0

For more detailed installation instructions, please refer to the package's documentation.

Usage

Here's a simple example of how to use Permission Guard to request location permission:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Permission Guard Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              PermissionStatus status = await PermissionGuard.requestPermission(Permission.location);
              if (status == PermissionStatus.granted) {
                // Permission granted, proceed with location functionality
              } else {
                // Permission denied or restricted, handle accordingly
              }
            },
            child: Text('Request Location Permission'),
          ),
        ),
      ),
    );
  }
}

Permission Guard also provides a UI permission request feature. You can use the PermissionRequestScreen widget to display a UI screen that asks the user for all necessary permissions at once. If the user skips this step, the app will request permissions when they are required for specific features.

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Permission Guard Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (_) => PermissionRequestScreen(
                    permissions: [
                      Permission.location,
                      Permission.camera,
                      Permission.storage,
                    ],
                    onPermissionDenied: () {
                      // Handle denied permissions
                    },
                    onPermissionGranted: () {
                      // Handle granted permissions
                    },
                  ),
                ),
              );
            },
            child: Text('Request All Permissions'),
          ),
        ),
      ),
    );
  }
}

For more usage examples and detailed API documentation, please see the package's documentation.

Additional Information

For more information about Permission Guard, how to contribute to the package, file issues, and contact the authors, please visit the package's GitHub repository.

We welcome contributions and feedback from the community. If you encounter any issues or have suggestions for improvements, please don't hesitate to create an issue on GitHub.

About

Permission Guard is a Flutter package that provides an easy way to handle permissions in your Flutter applications. It simplifies the process of requesting, checking, and managing user permissions, allowing you to focus on the core functionality of your app.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published