Geckoview 获取麦克风权限

2024-03-23

我正在尝试使用 GeckoView 元素内网站的录音功能。 因此我在 AndroidManifest.xml 中设置了权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

当我现在尝试在网站上录制音频时,HTML 弹出窗口(它是网站的一部分,而不是浏览器的功能)告诉我需要授予权限。我无能为力——这只是一张没有按钮的便条。

另一方面:当我使用常规 Firefox 浏览器时,浏览器会在显示此 HTML 弹出窗口时询问我是否要向我的麦克风授予该网站的权限。

GeckoView 没有向我提出这样的要求,因此需要找到一种方法来授予在 GeckoView 内使用该网站的麦克风的权限。 我需要在 GeckoView 内授予许可吗?我查找了有关 GeckoView 权限的文档,但无法使其工作(可能是因为我的基本编码知识)。

非常感谢任何帮助!

多谢!


GeckoView 本身不显示任何权限对话框。但是它提供了一个委托,您可以自己实现:GeckoSession.setPromptDelegate().

你基本上必须做两件事:

  1. 如果需要,请通过实施向 Android 系统请求权限GeckoSession.PermissionDelegate.onAndroidPermissionsRequest().
  2. 通过实施来处理来自网站的内容权限请求GeckoSession.PermissionDelegate.onContentPermissionRequest()- 这归结为调用grant() or reject()在提供的callback object.

The Mozilla 的 Android 组件 https://github.com/mozilla-mobile/android-components项目在 GeckoView 之上提供了此功能和许多其他“浏览器功能”的实现 - 如果您不想使用自定义实现。浏览器喜欢“火狐预览版 https://github.com/mozilla-mobile/fenix“使用该项目的实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Geckoview 获取麦克风权限 的相关文章

随机推荐

  • 在 Asp.Net Mvc 中使用 Ajax 刷新表列表

    我的模式有问题 在创建新条目后 我的表列表没有显示表中最后创建的行 在我的数据库中它已经存在 它仅在刷新页面后才显示 我尝试了一些东西 但只第一次起作用 来自 在 ASP NET MVC 中使用 AJAX 刷新表 https stackov
  • 使用ajax url调用函数

    希望我能正确地问这个问题 因为我知道我想要它做什么 但似乎无法从搜索中找到任何答案 我有一个 func php 页面 其中包含所有函数 并且我希望 ajax 使用该页面中的一个函数 func php function toptable ec
  • Python DataFrame 从每日数据中选择每月增量的行

    让我们直接进入问题吧 以下为每日数据 AAA BBB CCC date 2012 04 16 44 48 28 48 17 65 2012 04 17 44 59 28 74 17 65 2012 04 18 44 92 28 74 17
  • CouchDB 对 _users 数据库的读/写限制

    我想限制用户权限 以便普通用户只能读 写自己的用户文档 我设法设置写入权限 以便用户只能编辑自己的文档 通过设计文档中的 validate doc update 函数 现在我只需限制用户查看用户列表或其他用户文档即可 如果我将数据库读取权限
  • 使用 Scala Slick 实现高阶函数,实现 DRY 优点

    我知道我的 Scala Slick 数据访问层应该是什么样子 但我不确定这是否真的可能 假设我有一个 User 表 其中包含 id 电子邮件 密码等常用字段 object Users extends Table String String
  • Sailsjs/waterline 指定模型中的小数位数

    我如何告诉我的帆模型我想要一些特定的小数位type float 属性 喜欢decimalPlaces 4或者类似的东西 问题是 当我向此条目发布值时 磁盘上的值会被截断为 00 数百 个地方 说我想要 3243 2352362按原样存储 目
  • ENOENT:没有这样的文件或目录。?

    这是发布数据和文件时出现的错误 我遵循 academind 教程来构建 Restful API 服务 我也一直在寻找此类错误的答案 但对我来说没有任何作用 我使用 multer 上传文件 文件夹 上传 在文件夹中可用 但显示 ENOENT
  • Tomcat context.xml 中的资源名称属性如何工作?

    我们正在使用 JNDI 来查找我们的数据库连接 在Tomcat的全局context xml文件中 我们有类似以下内容
  • 什么是 0x43 MIDI 事件?

    我正在尝试编写一个 MIDI 解析器 但我遇到了官方文档中未记录的 MIDI 事件 即http www midi org techspecs midimessages php http www midi org techspecs midi
  • PostgreSQL:间隔“10 天”和当前行之间的范围

    我有一张表 用于存储每件商品的每日价格 如果价格尚未更新 则当天没有该商品的记录 我需要编写一个查询 为每个商品检索最新价格 并具有从当前行日期起 10 天的回溯窗口 否则返回NULL 我想用一个来实现这一点RANGE BETWEEN IN
  • 在 REST Assured 中,如何设置超时?

    我正在使用 RestAssured 2 8 0 我正在尝试设置自己的超时 用于网关超时 因此 如果我在 X 毫秒后没有得到响应 我想中止 I tried public static ValidatableResponse postWithC
  • 使用另一种类型过滤一种类型的键

    我正在尝试创建一种类型 如果它们不出现在另一种类型中 则该类型将递归地排除一种类型中的键 例如 给定两种类型 type TargetType a true b c true d true type InputType a string b
  • Cordova 无法添加 Android 失败,退出代码为 ENOENT

    I am trying to create an Android project with Cordova however i am getting an ENOENT error although i followed the tutor
  • 如何让 emacs 正确显示多字节编码文件?是骡子吗?

    当我打开多字节文件时 我得到 短期内 您可以使用备用编码系统重新访问该文件revert buffer with coding system 然后选择utf 16le 从中期来看 您可以在加载时提高 utf 16le 编码的优先级prefer
  • 获取全文搜索配置语言的完整列表

    to tsvector 支持多种语言 英语 德语 法语 如何获得这些语言的完整列表 有手册中的说明 https www postgresql org docs current textsearch psql html如何使用 psql 检索
  • 在发送给用户之前重命名文件?

    这可能是一个非常简单和愚蠢的问题 但我不知道我会如何去做 我正在用 PHP 为客户端站点构建一些文件托管功能 我在一个目录中有一个中央文件存储库 这是因为如果多人上传同一文件 客户端希望维护每个文件的一份副本 基于文件的 哈希 文件在转储到
  • 使用 SSE 内在函数时如何确保 NaN 传播?

    我最近读到了这篇关于NaNSSE 算术运算中的值 对两个非数字 NAN 参数进行算术运算的结果是未定义的 因此 使用 NAN 参数的浮点运算将与相应汇编指令的预期行为不匹配 Source http msdn microsoft com en
  • 如何在 Spring Data REST 中添加根资源的链接?

    如何在中公开外部资源 不通过存储库管理 资源的根列表Spring Data REST 的 我按照以下模式定义了一个控制器休息金 https github com olivergierke spring restbucks blob mast
  • Chunky 界面含义

    在我正在阅读的 应用程序架构设计 一书中 我发现了以下说法 为了减少往返并提高 通讯性能 设计 厚实的接口 谁能解释一下 厚重的界面 是什么意思 基本上 它是指一次调用中传输的数据量 例如 如果您想从服务器获取一组数据 而不是询问 GetR
  • Geckoview 获取麦克风权限

    我正在尝试使用 GeckoView 元素内网站的录音功能 因此我在 AndroidManifest xml 中设置了权限