如果用户第一次阻止权限,我想再次授予权限。
例如,如果用户屏蔽了 Flutter Web 应用的位置权限,则该 Web 应用将无法访问用户的位置信息。同样,如果用户阻止 Web 应用程序的麦克风权限,则该 Web 应用程序将无法访问用户的麦克风。
在 Flutter 中,与移动平台相比,在 Web 上处理权限和打开应用程序设置的方式有所不同。在 Web 平台上,您通常无法以编程方式打开用户启用权限的浏览器站点设置。相反,您需要引导用户完成整个过程。
您可以使用 kIsWeb 来检查您是否在网络中。如果是这样,那么您可以显示一条警报,告诉用户在浏览器设置中配置权限。如果您使用的是移动设备,则可以显示一个警报,其中包含一个通往 AppSettings 的按钮。
另外不要忘记,要在异步命令(通常是权限请求)之后打开警报,您应该使用在调用异步函数之前保存的上下文,因为上下文可能会变得无效。