misc.dart 1.83 KB
import 'package:flutter/services.dart';
import 'package:permission_handler/permission_handler.dart';

Future<bool> checkPermissionStorage() async {
  var status = await Permission.storage.status;
  if (!status.isGranted) {
    status = await Permission.storage.request();
    if (status.isGranted) {
      return true;
    }
  } else {
    return true;
  }
  return false;
}

Future<bool> checkContactPermission() async {
  PermissionStatus permissionStatus = await Permission.contacts.status;
  if (permissionStatus == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<bool> checkPermission(Permission permissionGroup) async {
  PermissionStatus permissionStatus = await permissionGroup.status;
  if (permissionStatus == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<bool> requestPermission(Permission permissionGroup) async {
  final permissions = await [permissionGroup].request();
  if (await permissionGroup.request().isGranted) {
    print(true);
    // Either the permission was already granted before or the user just granted it.
  }

  if (permissions[permissionGroup] == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<PermissionStatus> permissionStatus(Permission permissionGroup) async {
  PermissionStatus permissionStatus = await permissionGroup.status;
  return permissionStatus;
}

Future<PermissionStatus> contactPermissionStatus() async {
  PermissionStatus permissionStatus = await Permission.contacts.status;
  return permissionStatus;
}


Future<bool> requestContactPermission() async {
  final permissions = await [Permission.contacts].request();
  if (permissions[Permission.contacts] == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<bool> openSetting() {
  return openAppSettings();
}