[英]How to dismiss any open dialog in Flutter app, when app goes to background
[英]Flutter CamerPlugin “camera preview” freezed when app goes to background
嗨,我使用 flutter cameraPreview 拍摄照片,相机预览工作正常,但是当相机屏幕进入背景时,在该屏幕上恢复时相机屏幕冻结,无法查看 cameraPrview onResume。
我的代码:
Future<void> _initializeCamera() async {
final cameras = await availableCameras();
final firstCamera = cameras.first;
_controller = CameraController(firstCamera, ResolutionPreset.high);
_initializeControllerFuture = _controller.initialize();
if (!mounted) {
return;
}
setState(() {
isCameraReady = true;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
body: Stack(children: <Widget>[
FutureBuilder<void>(
future: _initializeControllerFuture,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
// If the Future is complete, display the preview.
return CameraPreview(_controller);
} else {
return Center(
child:
CircularProgressIndicator()); // Otherwise, display a loading indicator.
}
},
),],),);
controller 配置正确。
我想知道为什么暂停时会处理相机预览。
问题已通过初始化的 cameraPreview onResume 解决
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.resumed) {
_controller != null
? _initializeControllerFuture = _controller.initialize()
: null; //on pause camera disposed so we need call again "issue is only for android"
}
}
恢复到页面时,_controller.initialize 将调用,以便 cameraPreview 可以正常工作。
这是由于cameraPreview在onPause上运行了很长时间,它会被释放..onAndroid我想是这样..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.