Flutter 颤振:权限\u处理程序:iOS:首次成功拒绝后相机权限请求不工作

Flutter 颤振:权限\u处理程序:iOS:首次成功拒绝后相机权限请求不工作,flutter,ios-permissions,Flutter,Ios Permissions,我敢肯定这对我来说是个愚蠢的错误 使用权限处理程序请求iOS上的摄像头权限 第一次尝试时,对话框显示请求权限并成功批准或拒绝。但是,如果我先拒绝请求,然后再次尝试启动相机,则不会出现请求权限的对话框 static Future<bool> checkCameraPermissions() async { PermissionStatus status = await Permission.camera.status; if (status.isUndetermin

我敢肯定这对我来说是个愚蠢的错误

使用权限处理程序请求iOS上的摄像头权限

第一次尝试时,对话框显示请求权限并成功批准或拒绝。但是,如果我先拒绝请求,然后再次尝试启动相机,则不会出现请求权限的对话框

  static Future<bool> checkCameraPermissions() async {
    PermissionStatus status = await Permission.camera.status;
    if (status.isUndetermined || status.isDenied) {
      print('cam is denied or undetermined');     //Prints
      PermissionStatus newStatus = await Permission.camera.request();
      print(await Permission.camera.isDenied);     //Prints 'true' immediately
      if (newStatus.isDenied)
        return false;
      print('cam is approved!');    //Nope QQ
    }
    return true;
  }
static Future checkCameraPermissions()异步{
PermissionStatus状态=等待权限.camera.status;
if(status.isUndemined | | status.isDenied){
打印(“cam被拒绝或未确定”);//打印
PermissionStatus newStatus=等待权限.camera.request();
打印(等待许可.camera.isDenied);//立即打印“true”
if(newStatus.isDenied)
返回false;
打印('cam已批准!');//否
}
返回true;
}

如何强制权限处理程序再次请求用户?

根据苹果公司的说法,用户响应被存储,对话框不会再次打开。你可以在网上了解更多

您可以做的是显示一个对话框,其中包含启用所需权限和打开“设置”页面的步骤