如何在 flutter 应用程序中管理 IOS 相机权限?

How can I manage IOS Camera Permission in flutter app?

提问人:intellizetm 提问时间:11/11/2023 最后编辑:intellizetm 更新时间:11/12/2023 访问量:38

问:

我有一个 flutter 应用程序,但 IOS 平台的相机权限有问题。

底部导航中有 5 个按钮,其中中间是相机屏幕(inde 值 2)

它适用于Android平台,但IOS存在问题。

当我转到相机图标(索引值 2)时,它显示权限弹出窗口,它没问题。您知道有两个选项,其中一个是“不允许”,另一个是“允许”。

如果我单击“允许”功能效果很好,但如果我单击“不允许”,它会转到手机设置中的应用程序设置。但是,当我单击“不允许”时,它不应该转到那里。

我的代码的许可部分如下,如果有人帮助我,我会很高兴;

            if (value == 2 ) {
              PermissionStatus status = await Permission.camera.request();
              if (Platform.isAndroid && status.isGranted) {
                PermissionStatus micro =
                    await Permission.microphone.request();
                if (micro.isGranted) {
                  DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
                  AndroidDeviceInfo androidInfo =
                      await deviceInfo.androidInfo;
                  if (androidInfo.version.sdkInt >= 33) {
                    PermissionStatus photo =
                        await Permission.photos.request();
                    PermissionStatus video =
                        await Permission.videos.request();
                    if (photo.isGranted == true &&
                        video.isGranted == true) {
                      Navigator.push(
                        context,
                        MaterialPageRoute(
                          builder: (context) => CameraScreen(),
                        ),
                      ).then((value) {
                        BubblyCamera.cameraDispose;
                      });
                    }
                  } else {
                    PermissionStatus status =
                        await Permission.storage.request();
                    if (status.isGranted) {
                      Navigator.push(
                        context,
                        MaterialPageRoute(
                          builder: (context) => CameraScreen(),
                        ),
                      ).then((value) {
                        BubblyCamera.cameraDispose;
                      });
                    }
                  }
              }
            } else {
                Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => CameraScreen(),
                  ),
                ).then((value) {
                  BubblyCamera.cameraDispose;
                });
              }
            }

当我单击“不允许”时,它不应该转到手机设置中的应用程序设置

enter image description here

iOS Flutter 权限 相机

评论


答: 暂无答案