新增安卓获取相册/相机权限
This commit is contained in:
parent
581296be84
commit
aa108fca85
@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:star_lock/app_settings/app_colors.dart';
|
||||
import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_logic.dart';
|
||||
import 'package:star_lock/tools/custom_bottom_sheet.dart';
|
||||
@ -69,7 +70,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
|
||||
),
|
||||
),
|
||||
action: () {
|
||||
_openModalBottomSheet();
|
||||
requestCameraPermission();
|
||||
},
|
||||
)),
|
||||
Obx(() => CommonItem(
|
||||
@ -169,6 +170,51 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
|
||||
));
|
||||
}
|
||||
|
||||
Future<void> requestCameraPermission() async {
|
||||
// 检查是否已经授予相机权限
|
||||
PermissionStatus status = await Permission.camera.status;
|
||||
|
||||
if (status.isGranted) {
|
||||
// 如果权限已经被授予,执行您的相机操作
|
||||
// 这里可以调用打开相机的方法或者跳转到相机页面等
|
||||
_openModalBottomSheet();
|
||||
} else {
|
||||
// 如果权限尚未被授予,请求相机权限
|
||||
// 此处会显示系统权限请求对话框
|
||||
status = await Permission.camera.request();
|
||||
|
||||
if (status.isGranted) {
|
||||
// 如果用户授予了相机权限,执行您的相机操作
|
||||
_openModalBottomSheet();
|
||||
} else {
|
||||
// 如果用户拒绝了相机权限,您可以提供适当的提示
|
||||
// 或者引导用户手动授予权限
|
||||
_showPermissinDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Future _showPermissinDialog() async {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
title: const Text('Permission Required'),
|
||||
content: const Text(
|
||||
'You need to grant camera permission to use this feature.'),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
child: const Text('OK'),
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Future _openModalBottomSheet() async {
|
||||
showModalBottomSheet(
|
||||
context: context,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user