'Flutter-Android how to use the camera while the app is in foreground/background
is it possible to use the camera while the app is in the foreground or background?
I tried with these two packages flutter_foreground_task and flutter_background_service but i always get this error message once i start the camera stream Unhandled Exception: MissingPluginException(No implementation found for method availableCameras on channel plugins.flutter.io/camera).
class FirstTaskHandler extends TaskHandler {
void initCamera() async {
final description = await availableCameras().then(
(cameras) => cameras.firstWhere(
(camera) => camera.lensDirection == CameraLensDirection.front,
),
);
final _cameraController = CameraController(
description,
ResolutionPreset.low,
enableAudio: false,
);
await _cameraController.initialize();
await Future.delayed(const Duration(milliseconds: 500));
_cameraController.startImageStream((img) async {
log("Image captures: ${img.width} x ${img.height} -- ${img.format.raw}");
});
}
@override
Future<void> onStart(DateTime timestamp, SendPort? sendPort) async {
initCamera();
}
@override
Future<void> onEvent(DateTime timestamp, SendPort? sendPort) async { }
@override
Future<void> onDestroy(DateTime timestamp) async {
}
@override
void onButtonPressed(String id) {
}
}
Solution 1:[1]
I fixed this issue by editing the camera plugin and making the Livestream method work when the app is in the foreground/background. here is the link to the edited plugin edited-flutter-camera-plugin, just note that this version can be crashed in some functionalities because I just edited some files to make it fit my purpose of making the Livestream method works in the foreground
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Iheb Briki |