当前位置: 首页 > news >正文

flutter flutter_inappwebview插件里js上传调用相机和图库碰到的问题

我碰到的主要问题在权限上,安卓6.0以后,即使 AndroidManifest.xml 里声明了,也要在代码里动态申请权限。在main()里加以下代码:

await Permission.camera.request();

另外第二个问题是,需要在AndroidManifest.xml<application>标签内添加文件提供者配置:

1 <provider
2     android:name="com.pichillilorenzo.flutter_inappwebview_android.InAppWebViewFileProvider"
3     android:authorities="${applicationId}.flutter_inappwebview_android.fileprovider"
4     android:exported="false"
5     android:grantUriPermissions="true">
6     <meta-data
7         android:name="android.support.FILE_PROVIDER_PATHS"
8         android:resource="@xml/provider_paths" />
9 </provider>

技术原理

这个解决方案的核心在于:

  1. 权限管理:Android系统要求应用必须显式请求相机和存储权限,否则WebView无法访问这些硬件功能。

  2. 文件提供者机制:Android 7.0(API 24)引入了更严格的文件访问限制,要求通过FileProvider共享文件。InAppWebView插件提供了专用的FileProvider实现来处理WebView中的文件上传。

  3. URI权限授予:grantUriPermissions="true"属性允许临时授予其他应用(这里是WebView)访问特定文件的权限,这是拍照后文件能够传回WebView的关键。

参考文章:

Flutter InAppWebView 中解决Android相机拍照上传问题 - GitCode博客

flutter_inappwebview的使用与问题解决方案 - 简书

Flutter实现Android原生相机拍照 - 技术栈

http://www.aitangshan.cn/news/540.html

相关文章:

  • ruoyi-cloud微服务docker部署
  • #dp#L 最多变的序列
  • idea系列问题
  • Infoblox推出革命性高级威胁防御方案,通过DNS层防护主动抵御AI驱动的复杂攻击
  • 电商交易-履约-库存中心业务模型设计
  • pyyzDay8
  • 基于OAuth2与JWT的微服务API安全实战经验分享 - 实践
  • 文件或文件夹访问被拒绝,文件没有权限: 1.gpedit.msc--WINDOWS设置--安全设置--安全选项--用户帐户控制:以管理员批准模式运行所有管理员---已启用
  • 那快把题端上来吧(三)
  • 时变特征场景下的主动特征获取方法评估
  • (势能线段树)SPOJ GSS4/洛谷 P4145 上帝造题7分钟/P7334 吊打 题解
  • 6.3.3 狄利克雷卷积
  • 6.3.1常见积性函数
  • 一些 DS 题目
  • 虚弱相关-【改错】-下
  • 这一次,国产全自研高性能图形GPU真的来了
  • 一文彻底讲透:AI大模型应用架构全解析
  • 读开源项目成功之道11开源项目落幕
  • 2025未来科学大奖揭晓!每人奖金约720万元
  • Dataclass
  • 计算机基础之编程
  • WRC观点:人形机器人五大爆发趋势
  • dotnet X11 获取多屏 edid 信息
  • SEO 快速流量见效的方式-新词
  • 揭开红血球双凹碟形之谜
  • OVS配置CookBook
  • 推荐7本书《MLIR编译器原理与实践》、《ONNX人工智能技术与开发实践》、《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》
  • 打开手机 设置:搜索快应用管理--打开,删除其中不是自己安装的APP,可能有好多不是自己安装的
  • 递归因果发现算法与Python实现
  • 镜像地址相关