颤振弹出窗口不会要求访问相机的权限
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】:所以我只是删除了询问请求功能,它起作用了,我不知道如何,但它起作用了
【讨论】:
以上是关于颤振弹出窗口不会要求访问相机的权限的主要内容,如果未能解决你的问题,请参考以下文章