Android 无法在PermissionHandler中禁用相机权限

Android 无法在PermissionHandler中禁用相机权限,android,flutter,dart,permissions,Android,Flutter,Dart,Permissions,我搜索这个已经有一段时间了,在我的程序中,我使用启用相机权限。但是,我也希望我的用户能够以编程方式禁用相机权限 代码如下: child: SwitchListTile( contentPadding: EdgeInsets.all(0), value: isCameraAllowed, onChanged: (value) async {

我搜索这个已经有一段时间了,在我的程序中,我使用启用相机权限。但是,我也希望我的用户能够以编程方式禁用相机权限

代码如下:

                 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来表示权限处于打开或关闭状态,因此当用户将tile切换到打开时,我可以请求权限并对其进行更新,但是当用户想要关闭权限时,我找不到方法。有人能帮忙吗?

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

您找不到执行此操作的方法。因为无法再次请求授予的权限。用户必须更改应用程序设置中的权限。

目前,Flatter中没有插件或软件包支持此功能。这些当前的插件/软件包所做的是调用一个本机特性来请求相机许可

因此,如果我请求
Camera
权限,则会向本机处理程序发出一个请求,该处理程序会检查该权限是否被授予。如果没有,则请求许可


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

目前,颤振中没有插件或包支持此功能。这些当前的插件/软件包所做的是调用一个本机特性来请求相机许可

因此,如果我请求
Camera
权限,则会向本机处理程序发出一个请求,该处理程序会检查该权限是否被授予。如果没有,则请求许可


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

好的,我还假设,当我将用户引导到应用程序设置时,我不知道他们是否更改了权限,因此我无法正确更新我的UI。我得到了权限。您可以按照以下步骤正确修改UI:感谢您的帮助,但当我尝试此操作时,一旦打开设置并撤消权限,就会发生崩溃。我认为这是操作系统的预期行为,一些恼人的问题。欢迎加入:)好的,我还假设,但是,当我将用户引导到应用程序设置时,我不知道他们是否更改了权限,所以我无法正确更新我的UI,我知道了。您可以按照以下步骤正确修改UI:感谢您的帮助,但当我尝试此操作时,一旦打开设置并撤消权限,就会发生崩溃。我认为这是操作系统的预期行为,一些恼人的问题。欢迎登机:)