|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'package:one_key/utils/dialog_util.dart';
|
|
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
|
|
|
|
import '../app.dart';
|
|
|
|
|
|
|
|
Future<bool> checkPermissionStorage() async {
|
|
|
|
var status = await Permission.storage.status;
|
|
|
|
if (!status.isGranted) {
|
|
...
|
...
|
@@ -33,6 +39,22 @@ Future<bool> checkPermission(Permission permissionGroup) async { |
|
|
|
}
|
|
|
|
|
|
|
|
Future<bool> requestPermission(Permission permissionGroup) async {
|
|
|
|
//全局提示权限使用目的
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
//全局提示权限使用目的
|
|
|
|
BuildContext context = App.navigatorKey.currentState.overlay.context;
|
|
|
|
if (permissionGroup == Permission.storage) {
|
|
|
|
DialogUtil.showAuthorityDestination(
|
|
|
|
context, 'h_storage', '存储权限使用说明', '用于读取相册照片上传店铺门头照,包间照片等。');
|
|
|
|
} else if (permissionGroup == Permission.camera) {
|
|
|
|
DialogUtil.showAuthorityDestination(
|
|
|
|
context, 'h_camera', '相机权限使用说明', '用于上传店铺门头照,包间照片等。');
|
|
|
|
} else if (permissionGroup == Permission.location) {
|
|
|
|
DialogUtil.showAuthorityDestination(
|
|
|
|
context, 'h_location', '位置权限使用说明', '用于创建店铺时,获取店铺在地图上的位置,方便客户导航到咱们店铺');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
final permissions = await [permissionGroup].request();
|
|
|
|
if (await permissionGroup.request().isGranted) {
|
|
|
|
print(true);
|
|
...
|
...
|
@@ -57,6 +79,12 @@ Future<PermissionStatus> contactPermissionStatus() async { |
|
|
|
}
|
|
|
|
|
|
|
|
Future<bool> requestContactPermission() async {
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
//全局提示权限使用目的
|
|
|
|
BuildContext context = App.navigatorKey.currentState.overlay.context;
|
|
|
|
DialogUtil.showAuthorityDestination(
|
|
|
|
context, 'h_contant', '通讯录权限使用说明', '直接从通讯录获得客户电话号码,快速录入预订信息。');
|
|
|
|
}
|
|
|
|
final permissions = await [Permission.contacts].request();
|
|
|
|
if (permissions[Permission.contacts] == PermissionStatus.granted) {
|
|
|
|
return true;
|
...
|
...
|
|