Ask camera permission if not granted in Scanner Dialog
This commit is contained in:
parent
796cd72ef6
commit
72ce2a47f3
@ -8,6 +8,7 @@ import 'package:mymuseum_visitapp/Screens/Article/article_page.dart';
|
||||
import 'package:mymuseum_visitapp/Screens/Quizz/quizz_page.dart';
|
||||
import 'package:mymuseum_visitapp/app_context.dart';
|
||||
import 'package:mymuseum_visitapp/constants.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:qr_code_scanner/qr_code_scanner.dart';
|
||||
|
||||
|
||||
@ -25,6 +26,22 @@ class _ScannerDialogState extends State<ScannerDialog> {
|
||||
QRViewController? controller;
|
||||
final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
|
||||
|
||||
@override
|
||||
Future<void> initState() async {
|
||||
super.initState();
|
||||
|
||||
var status = await Permission.camera.status;
|
||||
|
||||
if(!status.isGranted) {
|
||||
// You can request multiple permissions at once.
|
||||
Map<Permission, PermissionStatus> statuses = await [
|
||||
Permission.camera,
|
||||
].request();
|
||||
print(statuses[Permission.camera]);
|
||||
print(status);
|
||||
}
|
||||
}
|
||||
|
||||
// In order to get hot reload to work we need to pause the camera if the platform
|
||||
// is android, or resume the camera if the platform is iOS.
|
||||
@override
|
||||
@ -183,12 +200,24 @@ class _ScannerDialogState extends State<ScannerDialog> {
|
||||
});
|
||||
}
|
||||
|
||||
void _onPermissionSet(BuildContext context, QRViewController ctrl, bool p) {
|
||||
Future<void> _onPermissionSet(BuildContext context, QRViewController ctrl, bool p) async {
|
||||
//log('${DateTime.now().toIso8601String()}_onPermissionSet $p');
|
||||
if (!p) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('no Permission')),
|
||||
);
|
||||
|
||||
var status = await Permission.camera.status;
|
||||
|
||||
if(!status.isGranted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('no Permission')),
|
||||
);
|
||||
|
||||
// You can request multiple permissions at once.
|
||||
Map<Permission, PermissionStatus> statuses = await [
|
||||
Permission.camera,
|
||||
].request();
|
||||
print(statuses[Permission.camera]);
|
||||
print(status);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
// Colors - TO FILL WIT CORRECT COLOR
|
||||
// Colors - TO FILL WITH CORRECT COLOR
|
||||
const kBackgroundColor = Color(0xFFFFFFFF);
|
||||
const kMainColor = Color(0xFF306bac);
|
||||
const kSecondColor = Color(0xFF309cb0);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user