颤振弹出窗口不会要求访问相机的权限

Posted

技术标签:

【中文标题】颤振弹出窗口不会要求访问相机的权限【英文标题】:flutter popup is not coming to ask permission to access camera 【发布时间】:2021-01-22 01:09:59 【问题描述】:

我尝试使用qr_code_scanner 请求真机上的相机权限以扫描二维码,但弹出窗口未打开我在info.plist 中添加NSCameraUsageDescription 并添加到我的podfile

post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
  config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
    '$(inherited)',
     'PERMISSION_CAMERA=0',
     'PERMISSION_PHOTOS=0',
     'PERMISSION_MEDIA_LIBRARY=0',
  ]
    end
  end 
end

这是我的询问代码 我试试这个

getCamera() async 
   var status = await Permission.camera.status;
  if (!status.isGranted) 
  final result = await Permission.camera.request();
  if (result.isGranted) 
    setState(() 
    getPerm = true;
    );
  
   else 
  setState(() 
    getPerm = true;
  );
  

还有这个

void initState() 
super.initState();
  WidgetsBinding.instance.addPostFrameCallback(onLayoutDone);
 
      void onLayoutDone(Duration timeStamp) async 
    _permissionStatus = await Permission.camera.status;
    if (_permissionStatus.isGranted) 
      setState(() 
        getPerm = true;
      );
    
  

  void _askCameraPermission() async 
    await Permission.camera.request();
    if (await Permission.camera.request().isGranted) 
      _permissionStatus = await Permission.camera.status;
      setState(() 
        getPerm = true;
      );
    
   

并在按下按钮时调用 _askCameraPermission 函数 除了相机工作之外,这些方式都不适用于我和所有权限

【问题讨论】:

也许你已经授予了相机权限所以弹出不打开 【参考方案1】:

您是在模拟器还是真实设备上运行您的应用程序? Here 是你插件的类似问题。

你也可以试试:

    在 iOS 的应用设置中检查您的应用的摄像头可用性; 调试您的应用以检查权限状态。

【讨论】:

【参考方案2】:

评论这些行

'PERMISSION_CAMERA=0',

'PERMISSION_PHOTOS=0',

同时检查你的 info.plist

【讨论】:

【参考方案3】:

所以我只是删除了询问请求功能,它起作用了,我不知道如何,但它起作用了

【讨论】:

以上是关于颤振弹出窗口不会要求访问相机的权限的主要内容,如果未能解决你的问题,请参考以下文章

在android M / N中隐藏权限弹出窗口

即使在 Ar.js 中的浏览器中授予权限后,地理定位访问被拒绝弹出窗口也会显示

USB设备访问弹出抑制?

颤振 - 如何在弹出窗口中创建表单

文件共享后没有访问权限是怎么回事?

Unity在Android 6.0及以上版本弹出权限申请窗口的问题