permission_util.dart 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:location/sdk/map/map_helper.dart';
  2. import 'package:permission_handler/permission_handler.dart';
  3. class PermissionUtil {
  4. PermissionUtil._();
  5. static Future<bool> requestLocationPermission() async {
  6. final status = await Permission.locationWhenInUse.request();
  7. if (status.isGranted) {
  8. MapHelper.startLocation();
  9. return true;
  10. } else {
  11. return false;
  12. }
  13. }
  14. static Future<bool> checkLocationPermission() async {
  15. final status = await Permission.locationWhenInUse.status;
  16. return status.isGranted;
  17. }
  18. static Future<bool> requestShowLocationAlways() async {
  19. final status = await Permission.locationAlways.request();
  20. if (status.isGranted) {
  21. MapHelper.startLocation();
  22. return true;
  23. } else {
  24. return false;
  25. }
  26. }
  27. static Future<bool> checkShowLocationAlways() async {
  28. final status = await Permission.locationAlways.status;
  29. if (status.isGranted) {
  30. return true;
  31. } else {
  32. return false;
  33. }
  34. }
  35. static Future<bool> checkPermission(Permission permission) async {
  36. final status = await permission.status;
  37. if (status.isGranted) {
  38. return true;
  39. } else {
  40. return false;
  41. }
  42. }
  43. static Future<bool> requestPermission(Permission permission) async {
  44. final status = await permission.request();
  45. if (status.isGranted) {
  46. return true;
  47. } else {
  48. return false;
  49. }
  50. }
  51. }