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/Screens/Quizz/quizz_page.dart';
|
||||||
import 'package:mymuseum_visitapp/app_context.dart';
|
import 'package:mymuseum_visitapp/app_context.dart';
|
||||||
import 'package:mymuseum_visitapp/constants.dart';
|
import 'package:mymuseum_visitapp/constants.dart';
|
||||||
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
import 'package:qr_code_scanner/qr_code_scanner.dart';
|
import 'package:qr_code_scanner/qr_code_scanner.dart';
|
||||||
|
|
||||||
|
|
||||||
@ -25,6 +26,22 @@ class _ScannerDialogState extends State<ScannerDialog> {
|
|||||||
QRViewController? controller;
|
QRViewController? controller;
|
||||||
final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
|
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
|
// 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.
|
// is android, or resume the camera if the platform is iOS.
|
||||||
@override
|
@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');
|
//log('${DateTime.now().toIso8601String()}_onPermissionSet $p');
|
||||||
if (!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';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
// Colors - TO FILL WIT CORRECT COLOR
|
// Colors - TO FILL WITH CORRECT COLOR
|
||||||
const kBackgroundColor = Color(0xFFFFFFFF);
|
const kBackgroundColor = Color(0xFFFFFFFF);
|
||||||
const kMainColor = Color(0xFF306bac);
|
const kMainColor = Color(0xFF306bac);
|
||||||
const kSecondColor = Color(0xFF309cb0);
|
const kSecondColor = Color(0xFF309cb0);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user