Skip to content

Instantly share code, notes, and snippets.

@redbluenat
Last active March 31, 2019 16:48
Show Gist options
  • Save redbluenat/68f20104610ed3ce4499cf53113fc29e to your computer and use it in GitHub Desktop.
Save redbluenat/68f20104610ed3ce4499cf53113fc29e to your computer and use it in GitHub Desktop.
void onTakePictureButtonPressed() {
takePicture().then((String filePath) {
if (mounted) {
setState(() {
showCamera = false;
imagePath = filePath;
});
}
});
}
Future<String> takePicture() async {
if (!controller.value.isInitialized) {
return null;
}
final Directory extDir = await getApplicationDocumentsDirectory();
final String dirPath = '${extDir.path}/Pictures/flutter_test';
await Directory(dirPath).create(recursive: true);
final String filePath = '$dirPath/${timestamp()}.jpg';
if (controller.value.isTakingPicture) {
return null;
}
try {
await controller.takePicture(filePath);
} on CameraException catch (e) {
return null;
}
return filePath;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment