【问题标题】:Can not disable camera permission in PermissionHandler无法在 PermissionHandler 中禁用相机权限
【发布时间】:2021-05-25 12:13:52
【问题描述】:

我一直在寻找这个,在我的程序中,我使用permission_handler 来启用相机权限。但是,我也希望我的用户能够以编程方式禁用相机权限。

代码如下:

                 child: SwitchListTile(
                    contentPadding: EdgeInsets.all(0),
                    value: isCameraAllowed,
                    onChanged: (value) async {
                      if(value){
                        var isGranted = await Permission.camera.request().isGranted;
                        if(isGranted){
                          setState(() {
                            isCameraAllowed = value;
                          });
                        }
                      }
                    },
                    title: Row(
                      children: [
                        Text(S.current.privacySettingsPageActiveDeactive),
                        Spacer(),
                        Icon(isCameraAllowed ? Icons.videocam : Icons.videocam_off)
                      ],
                    ),
                  )

我使用 SwichListTile 来指示权限是打开还是关闭,所以当用户将磁贴打开为 on 时,我可以请求权限并更新它当用户想要关闭权限时,我找不到办法。有人可以帮忙吗?

【问题讨论】:

    标签: android flutter dart permissions


    【解决方案1】:

    目前,Flutter 中没有任何插件或包支持此功能。这些当前的插件/包所做的是调用本机功能来请求相机权限。

    因此,如果我请求Camera 权限,则会向本机处理程序发出请求,以检查是否授予了权限。如果没有,则请求权限。

    您无法直接从应用启用或禁用权限。它需要调用本机处理程序。

    【讨论】:

      【解决方案2】:

      你找不到办法。因为没有办法再次请求授予权限。用户必须从应用的设置中更改权限。

      【讨论】:

      • 好吧,我也假设,但是,当我将用户引导到应用程序设置时,我不知道他们是否更改了权限,所以我无法正确更新我的 UI
      • 我明白了。您可以按照以下步骤正确修改您的 UI:stackoverflow.com/a/58024956/10659482
      • 感谢您的帮助,但是当我尝试此操作时,一旦我打开设置并撤销权限,就会发生崩溃。我认为这是操作系统的预期行为,stackoverflow.com/questions/32718933/…
      • 一些烦人的问题。欢迎加入 :)
      猜你喜欢
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多